新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 數(shù)字化小區(qū)信息發(fā)布系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

數(shù)字化小區(qū)信息發(fā)布系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2009-06-18 來(lái)源:網(wǎng)絡(luò) 收藏

2.2.2 用戶機(jī)硬件
在用戶機(jī)中,需要著重提到的是液晶顯示模塊,它是區(qū)顯示載體。液晶模塊與CPU三線連接,采用串行方式通信,節(jié)約了CPU的資源。存儲(chǔ)在串行EEPROM中,當(dāng)用戶按下按鍵查看信息時(shí),CPU從存儲(chǔ)器中讀取信息,并在液晶模塊上顯示。
存儲(chǔ)器中除了存儲(chǔ)信息的信息外,還有一些固定的參數(shù),比如:層號(hào)、房間號(hào)、撤布防的密碼、振鈴時(shí)間、主碼等,這些參數(shù)均可以通過(guò)鍵盤(pán)進(jìn)行軟設(shè)定。采用設(shè)置的辦法,避免了采用跳線或撥碼開(kāi)關(guān)進(jìn)行參數(shù)設(shè)置的傳統(tǒng)做法。用戶機(jī)框圖如圖2所示。

本文引用地址:http://2s4d.com/article/173702.htm

鍵盤(pán)完成的功能主要有:呼叫、開(kāi)鎖、設(shè)定參數(shù)、信息翻屏、撤布防等。報(bào)警輸入模塊接收來(lái)自傳感器的信號(hào)。CPU接收到報(bào)警信號(hào)后通過(guò)上傳,最終到達(dá)上位機(jī)。用戶機(jī)的其它功能模塊比較簡(jiǎn)單,限于篇幅,這里就不再做過(guò)多敘述了。
2.3 智能管理
2.3.1 打開(kāi)串口
使用函數(shù)CreateFile()打開(kāi)串口。其聲明如下:
HANDLE CreateFile(
LPCTSTR lpFileName, //指向文件或串口的指針
DWORD dwDesiredAccess, //讀寫(xiě)模式
DWORD dwShareMode, //共享方式
LPSECURITY_ATTRIBUTES lpSecurityAttributes,//安全屬性
DWORD dwCreationDistribution,//創(chuàng)建方式
DWORD dwFlagsAndAttributes, //文件屬性
HANDLE hTemplateFile); // 用于拷貝文件屬性的句柄
2.3.2 關(guān)閉串口
關(guān)閉串口比打開(kāi)串口要簡(jiǎn)單得多,只需要調(diào)用CloseHandle()函數(shù)關(guān)閉由CreateHandle()函數(shù)返回的句柄即可。CloseHandle函數(shù)的聲明如下:
BOOL CloseHandle(
HANDLE hObject;) //指向串口的句柄
2.3.3 異步操作
異步(重疊)I/O操作是指應(yīng)用程序可以在后臺(tái)讀或者寫(xiě)數(shù)據(jù),而在前臺(tái)做其他事件。首先介紹一個(gè)結(jié)構(gòu)OVERLAPPED,這個(gè)結(jié)構(gòu)對(duì)于執(zhí)行串口的異步操作來(lái)說(shuō)是必需的。其定義如下:
typedef struct _OVERLAPPED{
DWORD Internal;
DWORD InternalHigh;
DWORD Offset;
DWORD OffsetHigh;
HANDLE hEvent;
} OVERLAPPED;
在這個(gè)結(jié)構(gòu)中,前兩個(gè)參數(shù)為操作所保留。接下來(lái)的兩個(gè)參數(shù)在對(duì)串口操作時(shí)是無(wú)效的。對(duì)于串行口而言僅hEvent成員有效,其余成員必須為0。在設(shè)置了異步I/O操作后,I/O操作和函數(shù)返回有以下兩種情況:當(dāng)函數(shù)返回時(shí)I/O操作已經(jīng)完成,此時(shí)結(jié)果好像是同步執(zhí)行的,但實(shí)際上這是異步執(zhí)行的結(jié)果。當(dāng)函數(shù)返回時(shí)I/O操作還沒(méi)有完成,此時(shí)一方面,函數(shù)返回值為零,并且GetLastError()函數(shù)返回ERROR_IO_PENDING;另一方面,將OVERLAPPED中的信號(hào)事件設(shè)為無(wú)信號(hào)狀態(tài)。I/O操作完成時(shí),系統(tǒng)要把它設(shè)置為有信號(hào)狀態(tài)。異步I/O操作的結(jié)果可以由GetOverLappedResult()函數(shù)來(lái)獲取,也可以使用Windows的信號(hào)函數(shù)來(lái)處理。
3 結(jié)束語(yǔ)
通過(guò)對(duì)系統(tǒng)進(jìn)行詳細(xì)分析和功能,采用 和C++ 技術(shù),縮短了系統(tǒng)的開(kāi)發(fā)周期,提高了開(kāi)發(fā)者的效率,了功能強(qiáng)大而又比較靈活的信息系統(tǒng)。本系統(tǒng)經(jīng)過(guò)測(cè)試,包括仿真和系統(tǒng)聯(lián)機(jī)調(diào)試,結(jié)果證明這種信息發(fā)布的方案是可行的。相信隨著社區(qū)的不斷發(fā)展,其應(yīng)用前景也將越來(lái)越廣泛。
4 創(chuàng)新點(diǎn)總結(jié)
本文的創(chuàng)新點(diǎn)在于提出了一種新的信息發(fā)布的方案。通信速率高、通信距離遠(yuǎn)、可靠性高,可以滿足的通信要求。將CAN總線技術(shù)應(yīng)用于信息發(fā)布,改變了以往電子公告牌靜態(tài)的發(fā)布模式,具有高度的靈活性和廣泛的實(shí)適用性。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉