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