一直以来,以为下位机串口通讯很简单,收到数据处理就可以。中间使用的判断开始位是由发送方发送0xAA,0x55, 接收方读取进行比较后,即判断是帧头 ,但是这些仅限于自己写的上位机和下位机程序,当产品给别人使用的时候,不具有通用性,而且在使用别人的下位机产品的时候,程序不具有通用性,于是一直想寻找一种方法,能够通用,并且方便判断帧头。
终于,在一个杂志上面找到了通过定时器判断一帧数据头的办法,当定时器延时一段时间,串口SBUF中没有数据时候,即认为下次接收到的数据为帧头,当然,波特率不同,则定时器延时的时间亦不同,经过实验,果然比较好用,并且具有通用性。