我好像找到问题原因了,主要是在发送串口数据中,仔细学习了芯片手册,发送例程里面有一个busy还帮助获取串口发送状态,加进去后就没再出现卡在半路的情况。 也没再出现接收丢失数据现象,看来接收和发送两个还是相关联的?还是我程序本来就乱。。。。。 总结: 1、看例程要仔细,重点地方要做笔记 2、自己写代码一定要结构清楚,注释清楚 |
daemondong 发表于 2021-5-8 10:54 谢谢回复,确实是问题,我修改一下 |
你读SBUF写的不太规范,可能会导致多读一个字符。改成下面试试 recbuf[compos][recpos]=SBUF;//数据存入缓存 recpos++; if(recbuf[compos][recpos-1]=='\n') //如果收到的是\n,说明接收完一行 |