串口实现dma发送和接收

发布于 2020-07-01 10:54:15

keil下编译
本人使用芯片stm32F429,使用的rt_thread版本是发布版V3.1.3.查看其bsp驱动drv_usart.c中没有实现dma发送功能,于是在官网推荐的发布版本V4.0.2里的drv_usart.c里实现了dma发送,但是替换掉V3.1.3原文件里的drv.usart.c和对应的头文件之后,修改配置如下:
/ register UART device /
result =
rt_hw_serial_register(&uart_obj[i].serial,uart_obj[i].config->name,RT_DEVICE_FLAG_RDWR
| RT_DEVICE_FLAG_DMA_RX ,&uart_obj[i]);
rt_device_open(serial4, RT_DEVICE_FLAG_DMA_RX|RT_DEVICE_FLAG_DMA_TX);

finsh串口一直出现这个问题,如下图。 请问一下是不支持?还是需要什么配置?望指点一下
Illegal stdio input!

查看更多

关注者
0
被浏览
209
5 个回答
zhangjun
zhangjun 2020-07-01
看这个报错是libc还没有初始化就使用了stdio类的函数。
奇趣电子
奇趣电子 2020-07-01
zhangjun 发表于 2020-7-1 11:05
看这个报错是libc还没有初始化就使用了stdio类的函数。


主要的是我什么也没改什么,我这种配置可不可以?还是官方dma发送是有问题的

zhangjun
zhangjun 2020-07-01
你的驱动是从V4.0.2里拿的,可能是哪里的初始化没配合好
奇趣电子
奇趣电子 2020-07-01
zhangjun 发表于 2020-7-1 11:33
你的驱动是从V4.0.2里拿的,可能是哪里的初始化没配合好


主要不知道哪里有问题
whj467467222
whj467467222 2020-07-02

楼主有空能把代码重新编辑一下吗?看的挺费劲的。
另外能说下用的什么IDE吗

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友