毕业论文

打赏
当前位置: 毕业论文 > 电子通信 >

SIM300模块GSM数据采集管理系统设计(9)

时间:2017-02-21 13:27来源:毕业论文
1003 ComEvntDSRTO Data Set Ready信号超时。 1004 ComEvntFrame 帧错误。 1006 ComEvntOverrun 串口超速。 1007 ComEvntCDTO 载波检测超时。 1008 ComEvntRxOver 接受缓冲区溢出,缓冲


1003    ComEvntDSRTO    Data Set Ready信号超时。
1004    ComEvntFrame    帧错误。
1006    ComEvntOverrun    串口超速。
1007    ComEvntCDTO    载波检测超时。
1008    ComEvntRxOver    接受缓冲区溢出,缓冲区中已没有空间。
1009    ComEvntRxParity    奇偶校验错误。
1010    ComEvntTxFull    发送缓冲区溢出,缓冲区中已没有空间。
1011    ComEvntDCB        检索串口的设备控制块时发生错误。
MSCOMM控件进行串行通信的一般步骤为:
1)    设置通信对象、通信端口号及其他属性;
2)    设定通信协议;
3)    打开通信端口,进行数据的传送;
4)    关闭通信端口。
3.3.2    串口通信的程序设计
(1)    发送短信的串口通信程序
短信发送通过向串口发送“AT+CMGS= <length>”指令触发MSCOMM串口控件的OnComm事件。在OnComm事件中定义一个长整形变量s。当终端设备反馈一个OK确认信号。当Buffer收到这个确认信号后,加上Buffer的初值赋值给Buffer,再把Buffer的长度赋值给长整型变量s。再判断返回值是否是OK,是的话那么取消回显,状态为"AT指令初始化成功",然后清空Buffer。依次使用一个If的条件句,直到反馈回来第四个OK时,系统才会提示你"设备打开成功"。当反馈到一个“>”和OK后,就显示"短信发送成功"。这个程序和控件的特点就是提高了程序的性能和效率。短信发送原理如图3.3所示。
在程序运行时,短信发送的动作流程如下:
    点击“设备连接”按钮向串口发送“AT”,设置“Status = ""”,MSCOMM控件的input接到数据,达到Rthreshold的阀值触发OnComm事件;
    在OnComm事件中如果返回的是“OK”,进入条件判断,发送“ATE0”,设置“Status ="AT指令初始化成功"”,否则在达到Timmer1的设置值后进入Timmer1的条件判断,弹出“AT指令初始化失败,请重新打开设备”提示;
    成功设置“Status =" AT指令初始化成功"”后进入下一条件判断,如果返回
 
图3.3 短信发送原理图
的是“OK”,发送“AT+CMGF=0”,设置“Status ="回显取消成功"”,否则在达到Timmer1的设置值后进入Timmer1的条件判断,弹出“取消回显失败,请重新打开设备”提示;
    成功设置“Status ="回显取消成功"”后进入下一条件判断,如果返回的是
“OK”,设置“Status ="短信模式发送成功"”,弹出“设备打开成功”提示,
否则在达到Timmer1的设置值后进入Timmer1的条件判断,弹出“短信模式发送失败,请重新打开设备”提示;
    成功设备成功打开后点击发送按钮,向串口发送“AT+CMGS= <length>”指令,如果返回的是“>”,则进入条件判断,发送编码好的PDU串,设置“Status ="短信长度发送成功"”,否则在达到Timmer2的设置值后进入Timmer2的条件判断,弹出“短信长度发送失败,请重新发送”提示;
    成功设置“Status ="短信长度发送成功"”后进入下一条件判断,如果返回的是“OK”,设置“Status ="短信模式发送成功"”,弹出“短信发送成功”提示,否则在达到Timmer2的设置值后进入Timmer2的条件判断,弹出“短信发送失败,请重新发”提示。 SIM300模块GSM数据采集管理系统设计(9):http://www.youerw.com/tongxin/lunwen_3182.html
------分隔线----------------------------
推荐内容