基于S3C2440的智能模擬人的控制
一般情況下,串口通信采用兩種方法:一種方法是利用Windows的通信API函數(shù);另一種方法是利用Visual C++的ActivateX控件。Windo-ws的API函數(shù)使用起來比較靈活,實現(xiàn)通信的效率也是最高,所以系統(tǒng)采用利用Windows的API函數(shù)進行串口通信的開發(fā)。程序中thread_com類對串口操作的WindowsAPI函數(shù)進行了封裝,此類實現(xiàn)了對串口同步接收、異步接收以及線程監(jiān)控模式異步接收。thread_com類的成員函數(shù)如表1所示。本文引用地址:http://www.ex-cimer.com/article/187624.htm
2.2.2 通氣和按壓功能的實現(xiàn)
根據(jù)上面所說的情況,可以完成CPR中通氣和按壓功能的實現(xiàn),將ADC驅動燒錄至S3C2440進行壓力傳感器的信號采集和轉換,由于采用的雙路信號,就需要將壓力傳感器的取值范圍分為兩段,取中值后,設定大于中值時,完成按壓功能響應;小于中值時,完成通氣功能響應;在不對傳感器操作的時候,不響應。在采集到壓力信號的同時,向上位機發(fā)送8位UART數(shù)據(jù),進行按壓和通氣顯示條的操作,具體表現(xiàn)為:當按壓或者通氣值滿足系統(tǒng)設定的條件時(初始狀態(tài)為藍色),按壓或通氣條顯示綠色,否則為紅色。具體如圖4所示。
3 功能實現(xiàn)過程中遇到的問題
用S3C2440可以很好地滿足設計功能需求,顯示效果也比較滿意,但是在具體實現(xiàn)過程中,遇到很多問題,比如,S3C2440內核自帶的ADC驅動的中斷號和編寫的ADC驅動的中斷號沖突的問題;一些外擴的I/O口已經被占用的問題;與上位機通信過程中,數(shù)據(jù)包的傳輸問題;按壓和同期進度條顯示速率的問題等。通過以下步驟可以很容易地解決這些問題:
(1)根據(jù)用戶手冊,重新燒錄Bootload時,要對I/O口進行重新配置,使之滿足智能模擬人控制箱的配置需要;
(2)如果不需要使用觸摸屏的話,可以對S3C2440進行裁剪,卸載ADC觸摸屏驅動;如果仍需要使用觸摸屏,可以改用查詢方式完成功能;
(3)對上位機和下位機設置同樣的波特率,并建立鏈表,在滿足條件的情況下,再進行數(shù)據(jù)的傳輸,避免傳輸數(shù)據(jù)有誤造成的功能顯示問題;
(4)對按壓和通氣進度條的傳輸數(shù)據(jù)進行參數(shù)調整,同時結合上位機的參數(shù)進行調試,設置加權系數(shù),可以完善進度條顯示速率問題。
4 結語
主要討論了用S3C2440開發(fā)智能模擬人控制箱和按壓通氣功能的實現(xiàn),并介紹了上位機與下位機的通信,對在此過程中遇到的中斷號沖突,進度條顯示速率過慢等問題,也提出了相應的解決的方法。
評論