ARM7与GSM实现的简单的远程控制

最近参加一次校内电子比赛,有个题目就是让作用单片机与GSM的结合实现远程控制,这里的控制是控制两盏220V的灯泡,要求实现单片机的短信的收发。比赛已经完了,此次比赛有学习到很多新东西,写写总结体会(软件方面,由于负责软件部分)。编程

GSM模块选择的是西门子TC35I,网上它的资料比较多。之前有同窗买过这个模块,可是直接用GSM模块的话对比赛成绩有影响,因此咱们只是买了TC35I和SIM卡插槽,本身来从新画板子,把ARM与TC25I画在一块板子上。网上关于GSM控制的资料不少,但不少都是用51控制的,因此咱们起初的工做就是学习TC35I和将51与GSM的程序移植到ARM上。幸亏单从控制GSM上来讲,并非太难,它是基于串口通讯的,并且全是基于AT指令的控制,提及来,就只是熟悉下指令,并且此次比赛用到的指令也比较少,主要是关于短消息方面的指令。咱们用到的指令以下:网络

AT&F:设置目前参数为厂商默认值,成功则返回OK。学习

AT+CREG?:网络注册。成功则返回+CREG:0,1或 +CREG:0,5。错误则返回ERROR。spa

AT+CMGF=1:设置短信格式为TEXT格式。设计

AT+CSCA=’+86XXXXXXXXXXX’:发送本地中心号码it

AT+CMGS=’XXXXXXXXXXX’:发送目标手机号码软件

AT+CMGR=n:读取某条短信,n表示第几条短信程序

AT+CMGD=n:删除某条短信,n表示第几条短信im


由于只是简单的进行控制,只需传送ASCII码值。因此咱们短信格式设置为了TEXT格式,减轻了编程的负担。总结

下图就是咱们GSM控制方面的软件流程图:


ARM7串口通信方面的,采用了FIFO接收,8字节触发,有字符超时中断。

下图是TC35I的电路图



另外,原本用ARM就是打算用ucosii完成软件设计的,可是临近比赛也仍是没用弄出来,想了很久不知道错在哪里,最后果断放弃,跑裸机。看来,对Ucosii还要继续进行学习,熟练运用它进行编程。

相关文章
相关标签/搜索