两个stm32通信问题

2019-08-13 22:26发布

我用两个stm32进行通信,一个(板子A)用来采集模拟量(电压)数据,通过AD转换成数字量(十个数组左右),再通过板子A串口1发送到stm32(板子B)的串口1上,经过板子B处理数据后,通过串口2调试助手printf到电脑。问题出在printf打印到电脑的数据总是出现卡顿,有时很好,打印很流畅,但是有时候稍微动一下模拟量,打印就停顿,或者打印变慢,不知道是为什么,求高手解答,谢谢各位大神!串口的发送接收都是用中断的方式。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
shelf123
1楼-- · 2019-08-14 00:06
可能是去处理板子A与板子B之间的通信了,设置中断优先级
lanlzp
2楼-- · 2019-08-14 03:15
 精彩回答 2  元偷偷看……
403035135
3楼-- · 2019-08-14 05:31
lanlzp 发表于 2017-9-27 22:38
没代码解答个什么呢?

分析一下可能出现的问题,我想要的是渔不是鱼
yangkun666
4楼-- · 2019-08-14 06:22
你的a单片机串口一直在发的话,b就会不停处理这些数据,,b中断的优先级大于b单片机的串口优先级会出现这种情况吧
Acuity
5楼-- · 2019-08-14 07:51
裸机处理方式:串口中断只接收数据,不要有太多处理(该不会在中断中放printf吧?。。。。),放入fifo缓存中,在主循环中读出缓存并处理数据,然后printf;串口是非常慢的通信总线了,这种方式处理,按串口115200的波特率,狂发数据,也不会卡。带操作系统更不用说了。
403035135
6楼-- · 2019-08-14 10:56
shelf123 发表于 2017-9-27 21:08
可能是去处理板子A与板子B之间的通信了,设置中断优先级

设置了优先级也不管用

一周热门 更多>