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多是否与这些杂波有关?怎么才能算准确。程序请看图片
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。