完善资料让更多小伙伴认识你,还能领取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的,应该是没有被修改
|
|
|
|
那最后,寄存器配置变了没,走到改串口外设寄存器地方了?改之后的值是多少?
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
786 浏览 0 评论
4210 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2520 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2926 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
31442 浏览 11 评论
72894 浏览 21 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 02:22 , Processed in 0.911526 second(s), Total 86, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号