Hello!
I have a SmartRF06 Evaluation Board equipped with a CC2650. I am trying to get the UART to work (EM_UART_RX and EM_UART_TX pins on dev evalaution board). This is what I tried, based on the blink_led example:
#define UART_BASE_ADDR UART0_BASEvoid UARTHandler(void); int main(void) { SysCtrlPowerEverything(); UARTDisable(UART_BASE_ADDR); UARTIntDisable(UART_BASE_ADDR, UART_INT_OE | UART_INT_BE | UART_INT_PE | UART_INT_FE | UART_INT_RT | UART_INT_TX | UART_INT_RX | UART_INT_CTS); UARTIntClear(UART_BASE_ADDR, UART_INT_OE | UART_INT_BE | UART_INT_PE | UART_INT_FE | UART_INT_RT | UART_INT_TX | UART_INT_RX | UART_INT_CTS); UARTIntRegister(UART_BASE_ADDR, UARTHandler); UARTFIFOLevelSet(UART_BASE_ADDR, UART_FIFO_TX1_8, UART_FIFO_RX1_8); IOCPinTypeUart(UART_BASE_ADDR, IOID_UNUSED, IOID_UNUSED, IOID_UNUSED, IOID_UNUSED); // use default parameters // Does SysCtrlClockGet() work here? UARTConfigSetExpClk(UART_BASE_ADDR, SysCtrlClockGet(), 115200, UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE); UARTFIFOEnable(UART_BASE_ADDR); UARTEnable(UART_BASE_ADDR); UARTIntEnable(UART_BASE_ADDR, UART_INT_TX); ledInit(); ledOn(LED_PIN_1); char aChar = 'A'; while (1) { CPUdelay(1000000); UARTCharPut(UART_BASE_ADDR, aChar); // should print 'A' to UART ledToggle(LED_PIN_1); } } void UARTHandler(void) { UARTIntClear(UART_BASE_ADDR, UART_INT_OE | UART_INT_BE | UART_INT_PE | UART_INT_FE | UART_INT_RT | UART_INT_TX | UART_INT_RX | UART_INT_CTS); }
Unfortunately I do not receive anything. I also tried to change the interrupt handler directly in startup_gcc.c which didn't work either.
What am I doing wrong here?
What are the chances that the code of the PER test (which comes flashed onto evaluation board's chip) will be published? Currently it seems (?) rather hard to get along with the device without having any example (not using TI RTOS).
Thank you in advance,
Dominik