串行通讯是常规的通讯与调试手段,在EVB-L0130开发板上提供了2个串行接口,即CN4和CN5,见图1所示。 图1 串行接口
这2个接口所占用的引脚如图2所示,另外在CN7上也提供了UART2的引脚,注意两者不要同时使用。 图2 引脚占用 图3 SW接口
此外,CN4和CN5的串行口被短接了,在使用时应注意要打开。 通过官方提供的例程,可对串口通讯功能加以检测,其主程序为: int main(void)
{
uint8_t c;
BOARD_Init();
app_uart_init();
app_uart_putstr((uint8_t *)"\r\nuart_basic example.\r\n");
while (1)
{
c = app_uart_getchar();
app_uart_putchar(c);
}
}
由程序可知,这是一个验证串口收发处理的程序。 此外,由如下的定义可知其使用的是UART2,通讯的波特率为9600bps。 #define BOARD_DEBUG_UART_PORT UART2 #define BOARD_DEBUG_UART_BAUDRATE 9600u
主程序所调用的串口初始化函数为: void app_uart_init(void)
{
UART_Init_Type uart_init;
uart_init.ClockFreqHz = BOARD_DEBUG_UART_FREQ;
uart_init.BaudRate = BOARD_DEBUG_UART_BAUDRATE;
uart_init.WordLength = UART_WordLength_8b;
uart_init.StopBits = UART_StopBits_1;
uart_init.Parity = UART_Parity_None;
uart_init.XferMode = UART_XferMode_RxTx;
uart_init.HwFlowControl = UART_HwFlowControl_None;
UART_Init(BOARD_DEBUG_UART_PORT, &uart_init);
UART_Enable(BOARD_DEBUG_UART_PORT, true);
}
经程序的编译与下载,将UART转TTL模块与UART2相连接,则得到图4所示的测试效果。 图4 测试效果
掌握了串口的用法后,其它例程的测试就方便了许多,因为在没有LCD屏的参与下,各种测试的输出都是依赖串口的。此外,各种支持串口通讯的功能模块也就可以使用了。
|