Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
serial_V2
STM32F407ZGT适配串口V2驱动
发布于 2025-04-23 15:17:19 浏览:218
订阅该版
[tocm] ## 一 环境 使用RT-thread-studio,RTT版本5.1.0,基于芯片建立标准工程。我的工程使用uart1,3,6串口,未使用控制台,所以在rt_thread_setting中关闭了MSH。我选择的串口工作模式是,DMA发送(阻塞),DMA接收(不阻塞) ## 二 步骤 1. 工程建立完毕后,在rt_thread_setting中打开串口V2版本。 2. 在rt_thread_setting中使能串口DMA模式。 3. 删除V1文件,包含drv_uart.c和drv_uart.h等。 4. 在uart_config.h中,删除UART1_CONFIG、UART3_CONFIG、UART6_CONFIG中.tx_pin_name和.rx_pin_name成员。  5.在board.h中开启宏支持。删除引脚定义,增加定义串口3,6#define BSP_USING_UART3和#define BSP_USING_UART6, 6.在board.h增加BSP_UART1_RX_USING_DMA,BSP_UART3_RX_USING_DMA,BSP_UART6_RX_USING_DMA,BSP_UART1_TX_USING_DMA,BSP_UART3_TX_USING_DMA,BSP_UART6_TX_USING_DMA的使能。  7.在serial_v2.h中配置接收和发送缓存;使用宏定义,BSP_UART1_RX_BUFSIZE 512,BSP_UART1_TX_BUFSIZE 512。(这一步也可以在应用程序中用串口配置函数rt_device_control()实现) 8.在board.h中添加UART1、3、6的硬件初始化函数,这个函数由STM32CuBeMX生成,在生成时,选择异步串口,不开启中断,只开启串口时钟和串口引脚。  9.在drv_uart_v2.c中仍需要屏蔽HAL_UART_RxCpltCallback和HAL_UART_RxHalfCpltCallback中的dma_recv_isr()函数,不然会造成拆包。 10.drv_uart_v2.c中,stm32_uart_get_config()函数,原开发者少写了uart4以后的初始化,因此,按照前面4个串口的写法,补充uart6的初始化配置,主要是DMA的配置。 到此设置已经完毕。剩下的工作只用按照RTT官方参考中,查找串口,设置串口波特率,以设定模式打开串口即可。 ## 三 验证 采用主机发送数据,每帧210个字节,加上CRC,组成一帧。每帧首字节改动,从00到02,共计三帧,循坏发送。 发送间隔50ms,波特率115200。从机接受字节,验证首字节,并计算CRC数据,比对通过,则回复100字节固定数据。 收发共计2450万字节。无异常。 
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
miandian_7
这家伙很懒,什么也没写!
文章
1
回答
1
被采纳
1
关注TA
发私信
相关文章
1
UART 设备 v2 版本 什么时候支持 3.1.x啊
2
rt-thread 2.1.1版本的串口问题
3
串口v2的框架使用过程中BUFFER大小的设定规则
4
RTT studio 添加串口V2报错
5
4.1.0版本内核stm32f407利用studio添加串口Serial_v2
6
serial_v2可以使用modbus协议栈吗?
7
串口 DMA ringbuffer 接收有可能覆盖数据
8
rt-thread 串口设备V2版本疑问
9
串口v2版本缓冲区设置疑问
10
串口驱动V2的_serial_fifo_tx_blocking_nbuf() 小概率会无限阻塞?
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
FAL
RTC
rt-smart
I2C_IIC
cubemx
UART
ESP8266
WIZnet_W5500
BSP
ota在线升级
PWM
flash
packages_软件包
freemodbus
潘多拉开发板_Pandora
ADC
GD32
定时器
编译报错
flashDB
keil_MDK
socket
中断
rt_mq_消息队列_msg_queue
Debug
ulog
SFUD
msh
C++_cpp
at_device
本月问答贡献
出出啊
1524
个答案
343
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
818
个答案
179
次被采纳
crystal266
555
个答案
162
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
出出啊
1
篇文章
1
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
2
次点赞
crystal266
2
篇文章
1
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部