Programing/ Nordic(BLE)
UART 양방향 통신이 되지 않을 때
흰군
2016. 1. 15. 16:10
ble_app_uart_s130_pca10028(nRF51822 PCA10028) 예제를 실행하고 PC에서 시리얼통신을 연결하면
PC(테스트 보드) -> 스마트폰 전송은 되지만
스마트폰 -> PC(테스트 보드) 전송은 되지 않는다.
정확히는 스마트폰과 nRF51 칩과는 통신이 되는데 nRF51 칩과 USB to Serial 칩과의 통신이 되지 않는것이다.
이를 해결하기 Main.c에서 아래 부분을 찾아
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | static void uart_init(void) { uint32_t err_code; const app_uart_comm_params_t comm_params = { RX_PIN_NUMBER, TX_PIN_NUMBER, RTS_PIN_NUMBER, CTS_PIN_NUMBER, APP_UART_FLOW_CONTROL_ENABLED, false, UART_BAUDRATE_BAUDRATE_Baud38400 }; APP_UART_FIFO_INIT( &comm_params, UART_RX_BUF_SIZE, UART_TX_BUF_SIZE, uart_event_handle, APP_IRQ_PRIORITY_LOW, err_code); APP_ERROR_CHECK(err_code); } | cs |
아래와 같이 수정하면 됩니다.
통신 속도 역시 여기서 수정하면 됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | static void uart_init(void) { uint32_t err_code; const app_uart_comm_params_t comm_params = { RX_PIN_NUMBER, TX_PIN_NUMBER, RTS_PIN_NUMBER, CTS_PIN_NUMBER, APP_UART_FLOW_CONTROL_DISABLED, false, UART_BAUDRATE_BAUDRATE_Baud38400 }; APP_UART_FIFO_INIT( &comm_params, UART_RX_BUF_SIZE, UART_TX_BUF_SIZE, uart_event_handle, APP_IRQ_PRIORITY_LOW, err_code); APP_ERROR_CHECK(err_code); } | cs |