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