完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
mcu:stm32f407zg 调试时,设置波特率为1200,而串口输出为乱码,电脑设置波特率19200来接收mcu的数据,却能接收正确; 下面是我修改配置部分,修改过了,还是不能用,是不是还有那个地方需要设置? |
|
相关推荐
7个回答
|
|
那个表格(_tbl)是 POSIX_TERMIOS 用的,在这里用不到。uart_init.baud 的值是 1200 吗? 如果是的,建议对照 HAL 库文档检查一下驱动代码. 谢谢!
|
|
|
|
估计是底层驱动问题,CPU主频太高,UART太低的波特率需要修改合适的串口时钟分频比:
uart->handle.Init.ClockPrescaler = UART_PRESCALER_DIVxxx |
|
|
|
是主频高了
最近也遇到过这个问题, 根据这个链接, 72m主频算出来最低支持波特率在1098左右, F4的主频还要高, 1200是不行的 解决办法是调低系统主频, 或者调低串口时钟源的时钟频率 |
|
|
|
还有更低需要300波特率的,想要串口能同时满足高波特率和低波特率,UART最好能选择不同的时钟源,要么分频器能设得非常大。
|
|
|
|
单步进这个函数,看看最终修改波特率的时候,串口外设寄存器修改正确不。 看你的描述,被改成 19200 了。或者就没改成功。 |
|
|
|
你好,我单步调试,知道配置完,看到的配置值是1200的,应该是没有被修改
|
|
|
|
那最后,寄存器配置变了没,走到改串口外设寄存器地方了?改之后的值是多少?
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
583 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
2207 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1227 浏览 0 评论
1776 浏览 0 评论
1462 浏览 0 评论
74794 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 16:01 , Processed in 0.777114 second(s), Total 84, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号