Hi
for some reason I cannot connect any PC terminal to my custom board: I would get consistent NRF_UART0->ERRORSRC = 0x000c
or 0x0004
indicating break and/or framing issue. I hope someone has any hints to help me out ...
Here is my setup:
- custom board, RX pin = 30, TX pin = 0, no CTS/RTS
- nrf51822 QFAAH0 + SDKv5_2_0 + SD110v6.2.1 (can't change any of those)
- SD is initialised
- app_uart is configured as follows:
const app_uart_comm_params_t comm_params = { DBG_RX_PIN, DBG_TX_PIN, 0, 0, APP_UART_FLOW_CONTROL_DISABLED, false, UART_BAUDRATE_BAUDRATE_Baud115200 }; uint32_t err_code; APP_UART_FIFO_INIT(&comm_params, 64, 64, uart_error_handle, APP_IRQ_PRIORITY_LOW, err_code);
- uart_error_handle does the following:
void uart_error_handle(app_uart_evt_t* p_event) { switch (p_event->evt_type) { case APP_UART_COMMUNICATION_ERROR: ui_printf("ERROR %x\n", p_event->data.error_communication); break; default: ui_printf("OTHER\n"); break; } }
- using USB<>Serial cable (based on PL2303), connected as follows:
nrf-tx-pin <=> rs232-pin2 nrf-rx-pin <=> rs232-pin3 nrf-gnd <=> rs232-pin5
- using any Terminal application on Windows/Mac, e.g. screen or RealTerm, configured 115200,8N1
- whether my custom uart driver or SDK's app_uart.c, I get the same results:
Results:
- Whenever I press a key on the terminal, I get a ERROR 0x0004 followed immediately by a ERROR 0x000c on the board, The terminal app also indicates a BREAK + ERROR
- Changing baudrate does not help, some (e.g. 19200) even have weird consequences on display(!)
- Changing parity does not help
- (weird) if I disconnect GND (pin 5), the terminal app does not indicate any BREAK + ERROR error anymore but the board still does
any ideas/hints ?