完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我刚刚尝试了一下,在RT-Stduio环境下,使用STM32L431+ RT-Thread 4.0.5移植V2成功。电路上USART2作为Console输出。 具体流程如下: 1.新建工程 6.board.c中添加USART硬件初始化
7.修改board.h
8.顺利运行 |
|
|
|
我的是407芯片,按照你的步骤,不报错了,我的控制台是uart1,编译完成后,程序直接死掉。控制台都不输出
|
|
|
|
我在429上也做过了的,你是不是BSP_UART1_TX_BUFSIZE没有设置为0?
是不是开启了DMA?控制台部分不能开DMA发送。 另外,检查一下UART MSP代码,是否正确设置了引脚。 V2版本中,不会帮用户完成底层的引脚初始化,需要自行介入处理。 也可以debug一下看看,大概率程序是在show_version中使用rt_kprintf的时候挂掉了。跟踪断点,看看能否进入到stm32_putc函数中。 |
|
|
|
谢谢,解决了。控制台可以了。如果,我要使用在其他串口使用DMA功能,是不是和V1一样啊,在board.h里面定义串口DMA的宏定义啊
|
|
|
|
请问,如何解决的?是因为底层msp没有写好的原因吗?我看了你刚刚新发布的帖子,自己用407的板子+4.1.0,按照我回帖流程,又做了一遍,没发现有问题。我只能想到msp的原因了。
其他串口要使用DMA,有好多种组合方式。 记得要修改rtdef.h 在board.h设置TX和RX的buf size 在board.h中打开DMA,如#define BSP_UART2_RX_USING_DMA 我测试过RT_DEVICE_FLAG_RX_NON_BLOCKING和RT_DEVICE_FLAG_TX_NON_BLOCKING。 对于串口的RT_DEVICE_FLAG_RX_NON_BLOCKING,每次使用rt_device_read的时候,返回值是内部缓冲区中已有的数据长度。 |
|
|
|
解决就是您说的,控制台的引脚部分需要自己初始化,不想V1一样不用初始化
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
971 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
3205 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1434 浏览 0 评论
2085 浏览 0 评论
1604 浏览 0 评论
75214 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 06:55 , Processed in 0.611054 second(s), Total 53, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号