GPRS模块向串口助手(或者单片机)发送数据时9600波特率,1、若为同一包数据,每个字符之间间隔多长时间。2、2包数据间最少间隔时间多长
即:我该如何判断单片机已接受GPRS发送的一包/帧完整数据?
想了两种方法:一个是判断包头包尾,比如GPRS一般应答时先发送2个“\r\n”,包尾发送一个“\r\n”.但是有的不是,不好做到统一。另一种方法是通过时间间隔:比如当接受的一个字符时,打开计数器开始计时(定时器中断已使能,假设50ms中断一次),每次进串口接受中断则将计数器清零,这样若同一包数据是连续的数据流,则不会进入定时器中断。当间隔50ms还没有接收到数据则会进入定时器中断,一旦进入定时器中断则认为一包数据接收完毕,设置完成标志位。 这样的好处是能够统一,且都在中断里处理,无需应用层程序。但问题是上面的两个问题,即时间间隔问题!
看英文文档看的头疼也没找到相关的,求指导。 新号分不多, |