完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
前言:之前用的是神州stm32f4那款单片机,但是最近,老师发了一块跟正点原子芯片一样的核心板,当我准备用串口调试时发现发出来的是乱码。本以为是单片机的问题,于是打开之前串口模板程序,发现出来的仍然是乱码。如图:
为此,特地百度了一下,发现可能是频率的原因。为此,我也查看了USART1->BRR的值,发现其值为0x2D9. BRR中的第四位(DIV_Fraction)作为小数,高12位(DIV_MANtissa)作为整数部分 1,根据公式:波特率=fck/16*usardiv,其中usardivBRR寄存器的值,所以变形得:USARDIV=fck/(16*波特率) 2.算出来BRR寄存器的值后就要把这个值变成16进制数据写入BRR寄存器中, 遵循以下规则: 小数部分*16=DIV_Fraction或者取近似的值 整数部分直接=DIV_MANtissa 3.把这个16进制值写入BRR寄存器 例如我要算波特率设成9600bps的BRR寄存器值, 1.先求USARDIV=36000000/16*9600=234.375 2.换成十六进制:DIV_Fraction=16*0.375=0x6 DIV_MANtissa=234=0xea 3.组合并写入寄存器 USART2->BRR=0x0ea6;值得注意的是这里是16位半字操作,所以不要以为是32位。 根据上面的讲解,0x7D9转换成频率就是 83980800,stm32f4的最高频率为84M,所以这个没什么问题 根据他所讲的,我找到了stm32f4xxx.h,发现文件给的晶振频率为25M,我找到之前的那块板子发现,其频率也是25M,而我现在用的这块板子为8M.。 改成8M后数据正常 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1561 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1501 浏览 1 评论
933 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
665 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1555 浏览 2 评论
1848浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
610浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
504浏览 3评论
508浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
489浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 17:24 , Processed in 0.432812 second(s), Total 41, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号