nRF52 xBee EVM 보드의 UART 테스트를 위해 nRF5 SDK의 /examples/peripheral/uart 예제를 테스트 했다.
[nRF52 xBee EVM] 보드의 UART 핀은 P6, P8에 할당되어 있다.
pca10040.h 파일에서 핀맵 수정이 가능하다.
/components/boards/pca10040.h
UART 동작 테스트는 CP2105 USB2UART 보드를 이용하여 PC와 통신 할수 있도록 했다.
int main(void)
{
uint32_t err_code;
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,
#if defined (UART_PRESENT)
NRF_UART_BAUDRATE_115200
#else
NRF_UARTE_BAUDRATE_115200
#endif
};
APP_UART_FIFO_INIT(&comm_params,
UART_RX_BUF_SIZE,
UART_TX_BUF_SIZE,
uart_error_handle,
APP_IRQ_PRIORITY_LOWEST,
err_code);
APP_ERROR_CHECK(err_code);
#ifndef ENABLE_LOOPBACK_TEST
printf("\r\nUART example started.\r\n");
while (true)
{
uint8_t cr;
while (app_uart_get(&cr) != NRF_SUCCESS);
while (app_uart_put(cr) != NRF_SUCCESS);
if (cr == 'q' || cr == 'Q')
{
printf(" \r\nExit!\r\n");
while (true)
{
// Do nothing.
}
}
}
#else
// This part of the example is just for testing the loopback .
while (true)
{
uart_loopback_test();
}
#endif
}
프로그램 실행하면 printf 함수 및 UART ECHO 동작테스를 확인 할 수 있다.
반응형