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