/**************************************************************************//** * @brief Main function of example. ******************************************************************************/ void main(void) { volatile uint32_t ui32Loop; // // Init LEDs (turned off) // bspLedInit(); // // Turn on LED1 and LED4 // bspLedSet(BSP_LED_1|BSP_LED_4); // // Infinite loop // while(1) { // // Toggle LED2 and LED3 // bspLedToggle(BSP_LED_2|BSP_LED_3); // // Simple wait // for(ui32Loop = 0; ui32Loop < 500000; ui32Loop++) { } } }
/******************************************************************************* * @fn initMCU * * @brief Initialize MCU and board peripherals * * @param none * * @return none */ static void initMCU(void) { // Init clocks and I/O bspInit(BSP_SYS_CLK_8MHZ); // Init LEDs bspLedInit(); // Init buttons bspKeyInit(BSP_KEY_MODE_POLL); // Initialize SPI interface to LCD (shared with SPI flash) bspIoSpiInit(BSP_FLASH_LCD_SPI, BSP_FLASH_LCD_SPI_SPD); // Init LCD lcdInit(); // Instantiate transceiver RF SPI interface to SCLK ~ 4 MHz // Input parameter is clockDivider // SCLK frequency = SMCLK/clockDivider trxRfSpiInterfaceInit(2); // Enable global interrupt _BIS_SR(GIE); }
/****************************************************************************** * @fn main * * @brief Main handles all applications attached to the menu system * * input parameters * * output parameters * *@return */ void main( void ) { // Init clocks and I/O bspInit(BSP_SYS_CLK_16MHZ); // Init leds bspLedInit(); // Init Buttons bspKeyInit(BSP_KEY_MODE_POLL); // Initialize SPI interface to LCD (shared with SPI flash) bspIoSpiInit(BSP_FLASH_LCD_SPI, BSP_FLASH_LCD_SPI_SPD); /* Init Buttons */ bspKeyInit(BSP_KEY_MODE_ISR); bspKeyIntEnable(BSP_KEY_ALL); /* Init LCD and issue a welcome */ lcdInit(); lcdClear(); // Instantiate tranceiver RF spi interface to SCLK ~ 4 MHz */ //input clockDivider - SMCLK/clockDivider gives SCLK frequency trxRfSpiInterfaceInit(0x10); /* Welcome Screen Part */ lcdSendBuffer(trxebWelcomeScreen); lcdBufferPrintString(lcdDefaultBuffer,"TEXAS",60,eLcdPage6); lcdBufferPrintString(lcdDefaultBuffer,"INSTRUMENTS",60,eLcdPage7); lcdSendBufferPart(lcdDefaultBuffer, 60,127,eLcdPage6, eLcdPage7); /* MCU will stay in sleep until button is pressed */ __low_power_mode_3(); bspKeyPushed(BSP_KEY_ALL); //Clear screen lcdBufferClear(0); /* Menu Driver */ menu_t *pCurrentMenu = &mainMenu; uint8 menuButtonsPressed; menuDisplay(pCurrentMenu); __low_power_mode_3(); while(1) { menuButtonsPressed = bspKeyPushed(BSP_KEY_ALL); switch(menuButtonsPressed) { case BSP_KEY_LEFT: pCurrentMenu = menuBack(pCurrentMenu); break; case BSP_KEY_RIGHT: pCurrentMenu = menuEnter(pCurrentMenu); break; case BSP_KEY_DOWN: menuDown(pCurrentMenu); break; case BSP_KEY_UP: menuUp(pCurrentMenu); break; default: break; } menuDisplay(pCurrentMenu); /* Enter low power mode while menu driver waits on user input */ __low_power_mode_3(); } }
/***************************************************************************//** * @brief Initialize MCU and BOARD Peripherals * * @note This function initializes the following * @note \li \b MCU \b Clock * @note \li \b BSP \b keys * @note \li \b BSP \b LEDs * @note \li \b LCD display (only for TRXEB) * @note \li \b RF_SPI Interface * @note \li \b UART interface * @note \li \b PA_LNA controls * @note \li \b TIMER Bit Rate for the symbols * @note \li \b INTERRUPT enable service *******************************************************************************/ static void initMCU(void) { // Initialize clocks and I/O //bspInit(BSP_SYS_CLK_20MHZ); bspInit(BSP_SYS_CLK_24MHZ); // Initialize buttons bspKeyInit(BSP_KEY_MODE_POLL); // Initialize leds bspLedInit(); #ifdef __MSP430F5438A__ // Initialize SPI interface to LCD (shared with SPI flash) bspIoSpiInit(BSP_FLASH_LCD_SPI, BSP_FLASH_LCD_SPI_SPD); // Initialize LCD lcdInit(); #endif // Instantiate transceiver RF SPI interface to SCLK ~ 8 MHz */ /* Input parameter is clockDivider * SCLK frequency = SMCLK/clockDivider */ //trxRfSpiInterfaceInit(2); trxRfSpiInterfaceInit(3); #ifdef AT_CMD // Initialize the UART interface halUartInit(); // Toggle UART Echo. Disabled by default. Might cause unwanted behaviour if enabled. // Note: Try enabling local echo on the host console instead! //uartDrvToggleEcho(); #endif #ifdef __MSP430F5529__ // remove the reset from the rf device RF_RESET_N_PORT_SEL &= ~RF_RESET_N_PIN; RF_RESET_N_PORT_DIR |= RF_RESET_N_PIN; RF_RESET_N_PORT_OUT |= RF_RESET_N_PIN; #endif #ifdef CC1190_PA_LNA // initialize the IO RF_PA_EN_PxDIR |= RF_PA_EN_PIN; RF_LNA_EN_PxDIR |= RF_LNA_EN_PIN; // configure idle RF_PA_EN_PxOUT &= ~RF_PA_EN_PIN; RF_LNA_EN_PxOUT &= ~RF_LNA_EN_PIN; #endif // Init Bitrate Timer /* - FCC bit rate = 1.66ms ( 600bps ) * - ETSI bit rate = 10 ms ( 100bps ) */ TIMER_bitrate_init(); // Enable global interrupt _BIS_SR(GIE); }