0
问答首页 最新问题 热门问题 等待回答标签广场
我要提问

单片机

MC52I 单片机 stm32

GPRS模块向串口助手(或者单片机)发送数据时9600波特率,1、若为同一包数据,每个字符之间间隔多长时间。2、2包数据间最少间隔时间多长

即:我该如何判断单片机已接受GPRS发送的一包/帧完整数据?

想了两种方法:一个是判断包头包尾,比如GPRS一般应答时先发送2个“\r\n”,包尾发送一个“\r\n”.但是有的不是,不好做到统一。另一种方法是通过时间间隔:比如当接受的一个字符时,打开计数器开始计时(定时器中断已使能,假设50ms中断一次),每次进串口接受中断则将计数器清零,这样若同一包数据是连续的数据流,则不会进入定时器中断。当间隔50ms还没有接收到数据则会进入定时器中断,一旦进入定时器中断则认为一包数据接收完毕,设置完成标志位。  这样的好处是能够统一,且都在中断里处理,无需应用层程序。但问题是上面的两个问题,即时间间隔问题!

看英文文档看的头疼也没找到相关的,求指导。   新号分不多,

提问者:hu_wfllll1 地点:- 浏览次数:1037 提问时间:10-24 14:01
我有更好的答案
提 交
2条回答
caoguiqun 08-06 04:55
好好看看模块协议吧。  检测到包尾就算一包结束。  模块发送数据也不一定是匀速的。 根据时间计算根本不靠谱。
nvwerwer 08-12 17:51
楼主可以去看看ModBus协议,在理解其结构的基础上适当简化来做自己的协议。ModBus是典型的主从式通讯协议。
撰写答案
提 交
1 / 3
1 / 3
相关单片机
具有音调控制的单片机立体声前置放大器
用于单片机与电子装置中的开关电源
单片机软硬件复位的条件都有啥
电动机的单片机控制
单片机应用系统开发实例导航