打印

大家小心,STM32新版固件库(V3.2.0)设置波特率出问题了

[复制链接]
3364|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
linjing|  楼主 | 2010-4-9 13:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用新版的固件库设置串口波特率,设置9600,结果却是4800
看库文件源代码发现USART_Init中多了一个条件判断,
大家小心啦!
沙发
ST_ARM| | 2010-4-9 13:09 | 只看该作者
你使用的外部晶振是多少?

使用特权

评论回复
板凳
linjing|  楼主 | 2010-4-9 13:28 | 只看该作者
回楼上,
这个可以确定跟硬件没有关系,纯粹是软件的事,
在Keil下用软仿就可以验证,设置完成后在Keil的串口控件中可以看到结果

现在我不太确定是不是有关新版的固件库有什么注意事项我不知道,所以提醒大家一下喽

使用特权

评论回复
地板
ST_ARM| | 2010-4-9 13:34 | 只看该作者
你先回答我的问题

使用特权

评论回复
5
香水城| | 2010-4-9 17:07 | 只看该作者
回楼上,
这个可以确定跟硬件没有关系,纯粹是软件的事,
在Keil下用软仿就可以验证,设置完成后在Keil的串口控件中可以看到结果

现在我不太确定是不是有关新版的固件库有什么注意事项我不知道,所以提醒大家一下喽 ...
linjing 发表于 2010-4-9 13:28


为什么说跟硬件没有关系?

你能保证Keil下软仿时使用的设置与硬件是一致的吗?

使用特权

评论回复
6
linjing|  楼主 | 2010-4-9 21:06 | 只看该作者
现在上网的机器里没有这些资料,香版主看一下3.0.2版固件库的USART_Init与2.0.0版的,会发现设置波特率寄存器的代码不一样,多了一个条件,没有找到有关这个条件的说明,可能是用于USART4、5的,
另外,我的板子使用8MHZ晶振,与Keil的设置一致,PLL设置24MHZ,最早是软件仿真时偶然发现USART控件的波特率显示4800BPS,与我设置的9600BPS不符,检查过程序没有发现问题,接到硬件上试了一下,果然是4800BPS,

现在我的办法是使用调用USART_Init以后,再加一句USART1->B?? = 24000000/9600绕过了这个问题

使用特权

评论回复
7
linjing|  楼主 | 2010-4-9 21:08 | 只看该作者
补充说明,我使用的芯片型号,STM32F103RBT6

使用特权

评论回复
8
youlongltm| | 2013-1-31 14:31 | 只看该作者
我也发现了这个问题,不过是波特率变大了

使用特权

评论回复
9
21ID| | 2013-1-31 15:06 | 只看该作者
请问楼主下面的语句你修改了吗?
#define HSE_VALUE    ((uint32_t)4000000) /*!< Value of the External oscillator in Hz */

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

327

帖子

0

粉丝