打印
[MM32硬件]

【EV Board (MM32L0136C7P)测评】+串行通讯及其测试

[复制链接]
685|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
串行通讯是常规的通讯与调试手段,在EVB-L0130开发板上提供了2个串行接口,即CN4CN5,见图1所示。
1 串行接口

2个接口所占用的引脚如图2所示,另外在CN7上也提供了UART2的引脚,注意两者不要同时使用。
2 引脚占用
3  SW接口

此外,CN4CN5的串行口被短接了,在使用时应注意要打开。
通过官方提供的例程,可对串口通讯功能加以检测,其主程序为:
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);
}

经程序的编译与下载,将UARTTTL模块与UART2相连接,则得到图4所示的测试效果。
4 测试效果

掌握了串口的用法后,其它例程的测试就方便了许多,因为在没有LCD屏的参与下,各种测试的输出都是依赖串口的。此外,各种支持串口通讯的功能模块也就可以使用了。

使用特权

评论回复
沙发
jiekou001| | 2022-11-25 21:18 | 只看该作者
工具齐全,办事利索,很快就搞定了,楼主很赞。

使用特权

评论回复
板凳
jinglixixi|  楼主 | 2022-11-26 10:04 | 只看该作者
jiekou001 发表于 2022-11-25 21:18
工具齐全,办事利索,很快就搞定了,楼主很赞。

感谢支持!

使用特权

评论回复
地板
uptown| | 2022-12-15 10:38 | 只看该作者
这个可以支持1M以上的波特率吗?

使用特权

评论回复
5
jkl21| | 2022-12-15 10:47 | 只看该作者
MM32L0136C7P有几个串口?

使用特权

评论回复
6
jinglixixi|  楼主 | 2022-12-15 19:28 | 只看该作者
jkl21 发表于 2022-12-15 10:47
MM32L0136C7P有几个串口?

内置 2 个 UART 接口和1 个低功耗 UART 接口

使用特权

评论回复
7
jinglixixi|  楼主 | 2022-12-15 19:30 | 只看该作者
uptown 发表于 2022-12-15 10:38
这个可以支持1M以上的波特率吗?

没见到具体的介绍

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

446

主题

2675

帖子

37

粉丝