F429串口3,输入捕获计算对方通讯波特率问题

2019-07-20 08:16发布

原子大哥,我在用F429与其他产品串口通讯,但是由于那些产品都是RC震荡的,所以不知道准确的波特率,要先自己计算出来后再通讯,一开始产品会发送10个0X55供芯片计算它的波特率。我用F429串口3的RXD,PB11,TIM2CH4的输入捕获功能计算对方发送0X55的频率,但是算出来不准确,偏大100多波特率。产品的波特率大概在9600上下浮动,我定时器设置为10M去捕获,按理说精度应该会取到正负10波特率左右,不知什么原因整体偏大100多波特率。还有就是捕获的时候有很多非常短时间的杂波也被捕获了,我要虑掉这些杂波,只捕获那些正常通讯的波形,但是在滤波设置那里 TIM2_CH4Config.ICFilter=0; 我把0X0-0X15都试了也没有滤波效果。我的芯片晶振为8M,180M速度是这样设置吗?Stm32_Clock_Init(360,8,2,8),STM32F4XX_hal_conf.h已经改为8M;请问1.如何设置才能滤波。2.我计算波特率整体偏大100多是否与这些杂波有关?怎么才能算准确。程序请看图片
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
chanlaptou
1楼-- · 2019-07-21 01:20
来人呐~
chanlaptou
2楼-- · 2019-07-21 05:53
 精彩回答 2  元偷偷看……
chanlaptou
3楼-- · 2019-07-21 06:02
来人呐~
正点原子
4楼-- · 2019-07-21 06:13
帮顶
yklstudent
5楼-- · 2019-07-21 08:01
 精彩回答 2  元偷偷看……
chanlaptou
6楼-- · 2019-07-21 09:43
yklstudent 发表于 2018-5-9 07:05
芯片不是支持串口波特率自适应的嘛

啊?!还有这个功能?我不知道啊?原子哥的例程有吗?F429IGT6的芯片,怎么设置

一周热门 更多>