1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
近日调试一块H7的板子, 板上资源丰富,运行速度很快, 我移植了Lwip等应用,然后想简单打开一下串口, 使用DMA形式接收. 但是无论怎么设置都没有正常收发.
可以进入回调函数, 但是接收数组内容一直是0, 就像DMA没有搬运过来一样. 调试良久,终于通畅可以跑满串口带宽: 下面说我是怎么搞的:
进入这个回调函数后, 我就把uart8_Rxdata数据拿出来. 放去我逻辑缓冲区, 我在Freerots里面有个任务就是慢慢去解析这些数据的. 到这里没毛病. 下面就是把Ringbuffer内的东西打印出来. 到这整个过程就结束了. 可是结果很糟糕, 无论我发送什么字符, 都只收到0, 打印0. 开始查资料:
好, 我是CubeMX IDE, 是GCC环境, 查看LD文件, 查看MAP文件 bss段 指定是在 0x24000000区域, map显示我的uart8_RXdata也是在这个区域内, 所以没问题. DMA可以访问.
生成代码, 串口收发正常了. 之前考虑过这个方面,使用了volatlie关键字, 使用ST提供的函数: SCB_InvalidateDCache_by_Addr((uint32_t *)uart8_Rxdata,2); 都不好使. |
|
|
|
近日调试一块H7的板子, 板上资源丰富,运行速度很快, 我移植了Lwip等应用,然后想简单打开一下串口, 使用DMA形式接收. 但是无论怎么设置都没有正常收发.
可以进入回调函数, 但是接收数组内容一直是0, 就像DMA没有搬运过来一样. 调试良久,终于通畅可以跑满串口带宽: 下面说我是怎么搞的:
进入这个回调函数后, 我就把uart8_Rxdata数据拿出来. 放去我逻辑缓冲区, 我在Freerots里面有个任务就是慢慢去解析这些数据的. 到这里没毛病. 下面就是把Ringbuffer内的东西打印出来. 到这整个过程就结束了. 可是结果很糟糕, 无论我发送什么字符, 都只收到0, 打印0. 开始查资料:
好, 我是CubeMX IDE, 是GCC环境, 查看LD文件, 查看MAP文件 bss段 指定是在 0x24000000区域, map显示我的uart8_RXdata也是在这个区域内, 所以没问题. DMA可以访问.
生成代码, 串口收发正常了. 之前考虑过这个方面,使用了volatlie关键字, 使用ST提供的函数: SCB_InvalidateDCache_by_Addr((uint32_t *)uart8_Rxdata,2); 都不好使. |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1780 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1621 浏览 1 评论
1081 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
728 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1679 浏览 2 评论
1938浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
731浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
570浏览 3评论
596浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
556浏览 3评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 19:10 , Processed in 0.906230 second(s), Total 79, Slave 63 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号