最近参与一次校内电子竞赛,有个标题便是让做用单片机与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。
AT+CMGF=1:设置短信格局为TEXT格局。
AT+CSCA=’+86XXXXXXXXXXX’:发送本地中心号码
AT+CMGS=’XXXXXXXXXXX’:发送方针手机号码
AT+CMGR=n:读取某条短信,n表明第几条短信
AT+CMGD=n:删去某条短信,n表明第几条短信
由于仅仅简略的进行操控,只需传送ASCII码值。所以咱们短信格局设置为了TEXT格局,减轻了编程的担负。
下图便是咱们GSM操控方面的软件流程图:
ARM7串口通讯方面的,采用了FIFO接纳,8字节触发,有字符超时中止。
下图是TC35I的电路图
别的,本来用ARM便是计划用ucosii完结软件设计的,可是接近竞赛也仍是没用弄出来,想了良久不知道错在哪里,最终决断抛弃,跑裸机。看来,对Ucosii还要继续进行学习,娴熟运用它进行编程。