| 串行通讯是常规的通讯与调试手段,在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屏的参与下,各种测试的输出都是依赖串口的。此外,各种支持串口通讯的功能模块也就可以使用了。 
 |