您的位置:電子發(fā)燒友網(wǎng) > 電子技術(shù)應(yīng)用 > 汽車(chē)電子 >
基于CDMA模塊的車(chē)載監(jiān)控終端的設(shè)計(jì)方案(2)
2012年05月14日 10:42 來(lái)源:本站整理 作者:秩名 我要評(píng)論(0)
3.系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)以任務(wù)的形式對(duì)軟件功能進(jìn)行模塊劃分,軟件實(shí)現(xiàn)的任務(wù)包括:任務(wù)調(diào)度;車(chē)輛位置信息、速度信息的獲?。欢绦畔⒌慕邮?、處理與發(fā)送;電話的撥打與接聽(tīng);屏幕顯示。
程序流程為:車(chē)輛發(fā)動(dòng)之后,系統(tǒng)上電,首先進(jìn)行系統(tǒng)初始化,然后開(kāi)定時(shí)中斷與串口中斷,啟動(dòng)完畢后啟動(dòng)進(jìn)入中斷監(jiān)聽(tīng)狀態(tài),每隔10ms 掃描一次串口buffer 中的數(shù)據(jù),并根據(jù)不同的狀態(tài)調(diào)用不同的接口函數(shù)實(shí)現(xiàn)各種功能。車(chē)輛監(jiān)控終端最重要的任務(wù)就是實(shí)時(shí)交通信息的獲取和傳輸數(shù)據(jù), 下文著重介紹GPS 信息的獲取和短消息的接收與發(fā)送。
3.1 串口中斷函數(shù)
在本系統(tǒng)中,處理器對(duì)DTGS800 模塊的控制是通過(guò)串口發(fā)送AT 指令實(shí)現(xiàn)的, 當(dāng)發(fā)送某種AT 命令后,DTGS 模塊會(huì)通過(guò)串口與處理器進(jìn)行數(shù)據(jù)交換。因此,如何進(jìn)行串口數(shù)據(jù)管理是系統(tǒng)性能優(yōu)劣的關(guān)鍵。在本文的設(shè)計(jì)中,采用了基于中斷的管理方式,并設(shè)置了一個(gè)200Bytes 的串口緩沖區(qū),以循環(huán)隊(duì)列的形式實(shí)時(shí)讀取串口的接收數(shù)據(jù)。實(shí)現(xiàn)的步驟如下:
3.1.1 定義全局變量
#define REC_BUF_LEN 200
idata volatile BYTE datain;輸入數(shù)據(jù)的長(zhǎng)度
idata volatile BYTE dataout;;輸出數(shù)據(jù)的長(zhǎng)度
BYTE xdata dat[REC_BUF_LEN]; 串口緩沖區(qū)
3.1.2 操作函數(shù)的實(shí)現(xiàn)
bit BuffOut(BYTE *dp);從緩沖區(qū)讀出數(shù)據(jù)
bit BuffIn( BYTE *dp);向緩沖區(qū)寫(xiě)入數(shù)據(jù)
3.1.3 中斷函數(shù)
處理器與DTGS800 模塊之間通過(guò)串口通信,當(dāng)接收短信息,有來(lái)電提醒時(shí),都會(huì)引發(fā)串口中斷,因此串口中斷函數(shù)的核心就是將接受數(shù)據(jù)存儲(chǔ)到循環(huán)隊(duì)列中。其實(shí)現(xiàn)的流程圖如下:

圖2 中斷函數(shù)流程圖
本文導(dǎo)航
- 第 1 頁(yè):基于CDMA模塊的車(chē)載監(jiān)控終端的設(shè)計(jì)方案(1)
- 第 2 頁(yè):系統(tǒng)軟件設(shè)計(jì)
- 第 3 頁(yè):接口函數(shù)
- 第 4 頁(yè):定位任務(wù)
標(biāo)簽:CDMA(334)CDMA模塊(1)車(chē)載監(jiān)控(1)



