80 likes | 316 Views
GSM/GPRS 模块选择及使用. 前期工作:. 1. 对 GSM 模块有了例如 TC35 、 BENQ M22 、 JB35GD 的优缺点有了一定的了解。目前通用性及适用性比较高的是 TC35 。(其中对为什么不采用 CDMA 的模块向老师提出过疑问,学习到稳定度和成熟度是我们主要筛选因素。). 2. 查阅文献了解 GSM 及 TC35 基础知识,其中对各种通信方式、 GSM 网络的体系结构、短信息业务( SMS )、 AT 指令及短信息编码方式进行了学习和了解 。. 使用收获:.
E N D
前期工作: • 1.对GSM模块有了例如TC35、BENQ M22、JB35GD的优缺点有了一定的了解。目前通用性及适用性比较高的是TC35。(其中对为什么不采用CDMA的模块向老师提出过疑问,学习到稳定度和成熟度是我们主要筛选因素。)
2.查阅文献了解GSM及TC35基础知识,其中对各种通信方式、GSM网络的体系结构、短信息业务(SMS)、AT指令及短信息编码方式进行了学习和了解。2.查阅文献了解GSM及TC35基础知识,其中对各种通信方式、GSM网络的体系结构、短信息业务(SMS)、AT指令及短信息编码方式进行了学习和了解。
使用收获: • 掌握了AT指令发送过程,并完成了TC35模块与电脑串口调试,成功发送信息至手机。目前正在进行用单片机控制模块发送信息的程序修改。 • 想法与收获:了解到在采用的c8051f330中9位的UART方式可实现多机通信,认为在今后的程序设计中可以利用这一特点而进行优化。
在调试编写此程序过程中出现问题及解决方法:在调试编写此程序过程中出现问题及解决方法: • (1)问题:信号发送和接收时,由于中断程序中为空,而主程序运行至中断处会导致程序失控,结果出现乱码。 • 解决方法:不能认为这是一种延时缺省现象。应该在程序中加上中断内容或者主程序中不采用中断程序。
(2)问题:程序检测无误,但是手机接收不到发送的短信。(2)问题:程序检测无误,但是手机接收不到发送的短信。 • 解决方法:原因之一—发送AT()后需有一段延时,虽然采用的c8051f330晶振较高,处理时间较快,但是作为AT()函数中执行的内容也需要大约2.5ms的时间,若延时6ms,既对整个程序运行周期影响不大,又能确保程序的完整执行。同样,保证必要的延时时间也是确保没有乱码的做法。
解决方法:原因之二—对于电话号码数组,本身的字符串中符号“”不应算在数组定义范围中,并且对于字符串,误以为“\0”为其中一位也是导致问题出现的原因之一。解决方法:原因之二—对于电话号码数组,本身的字符串中符号“”不应算在数组定义范围中,并且对于字符串,误以为“\0”为其中一位也是导致问题出现的原因之一。
(3)问题:发送的内容在执行过程中会一直发送。(3)问题:发送的内容在执行过程中会一直发送。 • 解决方法:在执行完send()函数后,务必加上while(TI0==0); • TI0=0;发送结束语句,使CPU不用做无用功。