智林开发板Z32R串口例程波特率错误修正

手中有一个智林的开发板,型号Z32R的,里面的串口通信的例子,开始时测试时波特率9600,总是乱码。后来把通信的波特率无意提高到14400,居然没有乱码了。

后来看网上的教程,一般的开发板外面的晶振都是8MHz的,而智林这一款是12MHz。如果是8MHz,9倍频是72M,而现在是12MHz,还是9倍频,实际是102M,给超频了。

根据手册和网上的资料,发现设置时钟配置寄存器(RCC_CFGR),可以修正这个问题。

原来的参数设置在文件STM32_Init.c中,第129行开始

#define __RCC_CFGR_VAL             0x001D8402  //第18到21位是设置倍频的 0111设置为9倍频,第16位是设置HSE作为PLL输入时钟。第17位设置HSE不分频。第2位设置,PLL输出作为系统时钟。

#define __HSE                                   8000000 

 

现在把参数修改为以下:
#define __RCC_CFGR_VAL             0x00118402  //把     第18到21位是设置倍频的 修改为0100设置为6倍频

#define __HSE                                   12000000    //把外频修改为12M

 

编译,下载,OK了。

 

 

应该是智林从别的地方copy程序(后来在st的官网上发现,这个程序,好像几乎一样)。没有测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sunnf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值