Hi!
I'm running UART example and modified to run upon interrupt and its working fine, but in main() if condition (if (cr == 'q' || cr == 'Q') ) is not executing even condition is satisfied and it is printing q/Q upon sending through serially but not exiting. Can anyone tell me where i went wrong.
Regards,
Vijay Rakesh
static uint8_t data; void uart_event_handle(app_uart_evt_t * p_event) { uint8_t cr; if (p_event->evt_type == APP_UART_COMMUNICATION_ERROR) { APP_ERROR_HANDLER(p_event->data.error_communication); } else if (p_event->evt_type == APP_UART_FIFO_ERROR) { APP_ERROR_HANDLER(p_event->data.error_code); } else if (p_event->evt_type == APP_UART_DATA_READY ) { app_uart_get(&cr); data=cr; app_uart_put(cr); } } int main(void) { uint32_t err_code,i; bsp_board_init(BSP_INIT_LEDS); const app_uart_comm_params_t comm_params = { RX_PIN_NUMBER, TX_PIN_NUMBER, RTS_PIN_NUMBER, CTS_PIN_NUMBER, UART_HWFC, false, NRF_UART_BAUDRATE_115200 }; APP_UART_FIFO_INIT(&comm_params, UART_RX_BUF_SIZE, UART_TX_BUF_SIZE, uart_event_handle, APP_IRQ_PRIORITY_LOWEST, err_code); APP_ERROR_CHECK(err_code); printf("\r\nUART example started.\r\n"); while (true) { if (data == 'q' || data == 'Q') { printf(" \r\nExit!\r\n"); while (true) { } } }