#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "inc/hw_ints.h" #include "inc/hw_memmap.h" #include "inc/hw_types.h" #include "inc/hw_uart.h" #include "driverlib/debug.h" #include "driverlib/gpio.h" #include "driverlib/interrupt.h" #include "driverlib/sysctl.h" #include "driverlib/systick.h" #include "driverlib/timer.h" #include "driverlib/uart.h" #include "driverlib/usb.h" #include "driverlib/rom.h" #include "driverlib/rom_map.h" #include "drivers/pinout.h" #include "usblib/usblib.h" #include "usblib/usbcdc.h" #include "usblib/usb-ids.h" #include "usblib/device/usbdevice.h" #include "usblib/device/usbdcdc.h" #include "utils/ustdlib.h" #include "usb_serial_adapter.h" #include "graphics_adapter.h" #include "Stubs_Handler/Container.h" #include "Stubs_Handler/User_Leds.h" #include //#include "Stubs_Handler/Buzzer.h" #include "Stubs_Handler/temperature_sensor.h" #include "drivers/SPI/spi_master.h" #include "drivers/SPI/SPI_Comm.h" #include "drivers/Danser_SSI/SSI_Comm.h" //***************************************************************************** // // The system tick rate expressed both as ticks per second and a millisecond // period. // //***************************************************************************** #define TICKS_PER_SECOND 100 //***************************************************************************** // // Global system tick counter // //***************************************************************************** static volatile uint32_t g_ui32SysTickCount = 0; // Flags used to pass commands from interrupt context to the main loop. static volatile uint32_t g_ui32Flags; //MessageContainer createContainer(MessageType type, char* token, protobuf_c_boolean completed, void* response, size_t (*packPtr)(void*, uint8_t*), size_t (*sizePtr)(void*)); //***************************************************************************** // // Interrupt handler for the system tick counter. // //***************************************************************************** void SysTickHandler(void) { // Update our system time. g_ui32SysTickCount++; } //***************************************************************************** // // Interrupt handler for the UART which we are redirecting via USB. // //***************************************************************************** void USB0Handler(void) { InitUSB(); } int a = 5; void HandleSSI2(void) { a++; } int main(void) { uint32_t ui32SysClock, ui32PLLRate; // Set the system clock to run at 120MHz from the PLL. ui32SysClock = MAP_SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ | SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480), 120000000); // Configure the device pins. PinoutSet(); // Save the PLL rate used by this application. SysCtlVCOGet(SYSCTL_XTAL_25MHZ, &ui32PLLRate); // Enable the system tick. ROM_SysTickPeriodSet(ui32SysClock / TICKS_PER_SECOND); ROM_SysTickIntEnable(); ROM_SysTickEnable(); init_graphics(ui32SysClock); clear(); /////////////// tests by AVI //Ext_Flash_Operation(TX,5); //SoundExample(); //temperature_main(); // use uart0 PA0+PA1 //test_FPGA(); //SPI_main(); // SPI_Control(); SSI1_Init(); // Read dancer ENC SSI Loop_SSI(); SPI2_Init(); init_BUSY_Pin(); ///////////////////// RegisterReceiveCallback(&receive_callback); StartUSB(ui32SysClock); while(1){}; }