1.下位机上电时候,串口rx收到了杂数据.这种问题在前面加一些\r\n把前面的错误数据flush掉.
2.下位机的串口中断设置有问题,buffer满了才会报中断,可以修改下位机串口中断上报方式,或者在指令后面多加一些\r\n,把下位机的buffer存满触发中断
用逻辑分析仪抓一下
出现上位机软件发送命令后,第一次经常无法接收到下位机硬件回复的问题,可能有多种原因导致。以下是一些可能的原因和相应的解决方案:
很简单证明,在接收方放一个硬件串口hub,打印出来(第一步若还没有这种硬件,那么只需要直接在另一头打印,证明给自己看,hub是主要证明给对方看)。排除软件问题(比如该软件产品之前是一直正常的),这种情况是很可能硬件问题的,比如板子漏电、静电等等都可能造成这种现象。