赞
踩
官方链接:https://www.rt-thread.org/document/site/rtthread-studio/drivers/uart/v4.0.2/rtthread-studio-uart-v4.0.2/
新增串口只需要在 board.h 文件中定义相关串口的宏定义 BSP_USING_UARTx 及修改引脚信息即可新增串口的步骤总结如下:
1.新增对应串口的宏定义,如 BSP_USING_UART1、BSP_USING_UART2等。
2.修改串口 RX/TX 的端口,如 GPIOA、GPIOB等。
3.修改串口 RX/TX 的引脚号,如 GPIO_PIN_2、GPIO_PIN_3等
4.基于修改控制台章节新增串口 1 的示例如下
如下图,新增UART2的操作

编译并下载程序,在控制台输入 list_device 命令可以看到已经注册了两个串口设备,串口 1 和串口 2。如下图所示2.串口使用

从控制台输出的信息可以看到两个串口设备均已注册到系统中了。
https://www.rt-thread.org/document/site/programming-manual/device/uart/uart/
RT-Thread Setting 配置 DMA
如果要使用串口 DMA 的功能,需要使用 RT-Thread Setting 打开 DMA 的支持。配置路径为
RT-Thread Setting
----组件
--------设备驱动程序
------------使用 UART 设备驱动程序
----------------使能串口 DMA 模式。
配置过程如下图所示

如果需要使用串口 DMA 只需要在 board.h 文件中定义如下宏即可
- #define BSP_UARTx_RX_USING_DMA
- #define BSP_UARTx_TX_USING_DMA
UARTx 表示的是哪个串口需要使用 DMA,使用的是 DMA 的发送还是接收功能。此例中使用的是串口 2 的 DMA 接收功能,所以定义了宏 BSP_UART2_RX_USING_DMA,串口 2 使用 DMA 的配置如下所示

将 DMA 接收及轮询发送 章节中的DMA 的测试代码添加到工程中编译并下载程序,在控制台中输入 uart_dma_sample 命令,并使用 USB 转串口线连接串口 2,在串口 2 中可以看到如下打印信息。

测试程序已经成功使用 DMA 进行了接收。
向串口中写入数据,可以通过如下函数完成
- rt_size_t rt_device_write(rt_device_t dev,
- rt_off_t pos,
- const void *buffer,
- rt_size_t size)
- 参数 描述
- dev 设备句柄
- pos 写入数据偏移量,此参数串口设备未使用
- buffer 内存缓冲区指针,放置要写入的数据
- size 写入数据的大小
- 返回 ——
- 写入数据的实际大小 如果是字符设备,返回大小以字节为单位;
- 0 需要读取当前线程的 errno 来判断错误状态
调用这个函数,会把缓冲区 buffer 中的数据写入到设备 dev 中,写入数据的大小是 size。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。