ARM7與GSM實(shí)現(xiàn)的簡(jiǎn)單的遠(yuǎn)程控制
GSM模塊選擇的是西門(mén)子TC35I,網(wǎng)上它的資料比較多。以前有同學(xué)買(mǎi)過(guò)這個(gè)模塊,但是直接用GSM模塊的話(huà)對(duì)比賽成績(jī)有影響,所以我們只是買(mǎi)了TC35I和SIM卡插槽,自己來(lái)重新畫(huà)板子,把ARM與TC25I畫(huà)在一塊板子上。網(wǎng)上關(guān)于GSM控制的資料很多,但很多都是用51控制的,所以我們起初的工作就是學(xué)習(xí)TC35I和將51與GSM的程序移植到ARM上。幸好單從控制GSM上來(lái)說(shuō),并不是太難,它是基于串口通信的,而且全是基于AT指令的控制,說(shuō)起來(lái),就只是熟悉下指令,而且這次比賽用到的指令也比較少,主要是關(guān)于短消息方面的指令。我們用到的指令如下:
本文引用地址:http://m.butianyuan.cn/article/201611/319114.htmAT&F:設(shè)置目前參數(shù)為廠商默認(rèn)值,成功則返回OK。
AT+CREG?:網(wǎng)絡(luò)注冊(cè)。成功則返回+CREG:0,1或 +CREG:0,5。錯(cuò)誤則返回ERROR。
AT+CMGF=1:設(shè)置短信格式為T(mén)EXT格式。
AT+CSCA=’+86XXXXXXXXXXX’:發(fā)送本地中心號(hào)碼
AT+CMGS=’XXXXXXXXXXX’:發(fā)送目標(biāo)手機(jī)號(hào)碼
AT+CMGR=n:讀取某條短信,n表示第幾條短信
AT+CMGD=n:刪除某條短信,n表示第幾條短信
因?yàn)橹皇呛?jiǎn)單的進(jìn)行控制,只需傳送ASCII碼值。所以我們短信格式設(shè)置為了TEXT格式,減輕了編程的負(fù)擔(dān)。
下圖就是我們GSM控制方面的軟件流程圖:
ARM7串口通訊方面的,采用了FIFO接收,8字節(jié)觸發(fā),有字符超時(shí)中斷。
下圖是TC35I的電路圖
另外,本來(lái)用ARM就是打算用ucosii完成軟件設(shè)計(jì)的,但是臨近比賽也還是沒(méi)用弄出來(lái),想了好久不知道錯(cuò)在哪里,最后果斷放棄,跑裸機(jī)。看來(lái),對(duì)Ucosii還要繼續(xù)進(jìn)行學(xué)習(xí),熟練運(yùn)用它進(jìn)行編程。
評(píng)論