MSP430单片机控制GSM模块发短信(原理)

本文介绍了MSP430单片机通过GSM模块发送短信的过程,涉及AT指令、Text模式与PDU模式的使用。在Text模式下,设置AT指令如AT+CMGF=1和AT+CSMP,发送英文短信。而在PDU模式下,需要处理手机号码和短信中心号码,并构造相应数据。文章还提到了串口通信在不同系统中的实现,并提供了相关工具和资源链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,GSM发短信,对英文和中文的处理是不一样的,请参考以下资料:

1 简述
使用GSM模块收发短信,主要有两个部分需要考虑,一个是AT指令,一个串口读写。Tc35i GSM模块在收发短信时,分为两种模式,一为text模式,一为pdu模式,如果只需要发送英文内容,则text模式足矣,但若要发送中文短信,则必须使用pdu模式。串口的读写在不同的系统里是有区别的,在windows下使用系统提供的win32 API可以实现串口操作,在linux下串口作为文件读写,在单片机上串口的读写是把一个个字符送入特定缓冲区即可,但无论在何种系统中,操作串口之前都需要对串口进行初始化操作。
2 AT指令
在使用AT指令发送短信的时候,可以使用串口调试助手(windows和linux下的串口调试助手不同,而且版本也有许多,但使用方法大致相同,都需要先找到串口的端口号,windows下可以到设备管理器中查看(注意安装好usb转串口驱动),linux下可以到/dev下查看,设置波特率9600,校验位None,数据位8,停止位1;windows下可以使用stc-isp带有的串口助手,在linux下可以使用minicom,)来帮助熟悉指令,以及了解短信发送的流程。
2.1 TEXT模式
先对模块SMS进行一些初始设置,AT+CMGF=1设置为Text模式,AT+CSMP=17,167,0,0设置Text模式参数,AT+CSCS=GSM设置GSM字符集,接下来发送一条短信,例如要往15948020629这个号码发送一条短信,输入命令AT+CMGS=15948020629 并回车,返回
>
接着输入短信内容,输入完毕后以->结尾,这个字符是ASCII码中的26(0x1A),一个控制字符,在这里作为结束标志,测试时可以在正常短信内容输入完毕后:先点发送,再以十六进制方式输入1A,1A也就是16进制的026,再点发送,这时接收区就会显示这个符号,以后再需要这个符号时可以直接粘贴使用。如果返回OK就说明短信发送成功。需要注意的是,虽然有短信息服务中心号码设置的命令,不过一般不需要我们设置的,可以使用AT+CSCA?来查询服务中心号码。
下面来往模块中发送一条短信,注意犹豫此时是Text模式,所以发送内容应为英文内容,包括数字,英文标点。发送短信前执行AT+CNMI=2,1
此命令的作用是当有新的短信时给予提醒并显示存储位置,同时还会将信息存储到默认的内存位置。例如发送信息的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值