久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM9的電梯緩沖器復位時間測試儀的設計

基于ARM9的電梯緩沖器復位時間測試儀的設計

作者: 時間:2015-04-18 來源:網絡 收藏

  3.2.1 串口通訊協議說明

本文引用地址:http://cqxgywz.com/article/272747.htm

  模塊串口波特率9600,無奇偶效驗,一位停止位。控制命令通過一致的幀結構通訊,幀長度4字節:命令+數據0+數據1+校驗和。效驗和=命令+數據0+數據1的相加和的低8位。系統通過上位機串口直接對下位機模塊進行操作。上位機向下位機發送啟動16位距離讀取命令:Ox22+度數+NC+SUM。當測量完畢時,這時返回的數據是:Ox22+距離高+距離低+SUM;當測量無效時返回的距離高位和低位數據都是Oxff。(注:NC代表任意數據,SUM代表效驗和)串行端口在下屬于流接口設備,是串行設備接口常規I/O驅動程序的調用與通信相關的具體函數的結合。串行設備被視為用于打開、關閉和讀寫串行端口的常規的可安裝的流設備。的串口函數和Windows的串口函數基本相同,但有幾點值得注意:只支持Unicode字符集,在編程時必須特別注意; Windows CE不支持重疊的I/O操作。在所有的流設備驅動程序中,均使用CreateFile來打開串行端口設備,如果這個端口不存在,CreateFile返回ERROR_FILE_NOT_FOUND。因此,用戶指定的端口必須是存在并且可用的,而且要遵循Windows CE流接口設備驅動程序的命名規則,即COM后接要打開的端口號再緊跟一個冒號。

  

 

  關閉串行端口比較簡單,調用CloseHandle函數就能關閉一個打開的串行端口。CloseHandle只有一個參數,即調用CreateFile函數打開端口時返回的句柄,方法如下:

  CloseHandle(hPort);

  正如使用CreateFile打開串行端口一樣,可以使用ReadFile和WriteFile函數來讀寫串行端 口。假設已經調用CreateFile成功地打開了串行端口,那么只需調用ReadFile即可從串行端口讀取數據:

  

 

  如果從主線程讀、寫大量的串行數據,主線程就會因為等待相對較慢的串行讀或串行寫操作而阻塞,不能即時處理其他的消息,因此這里用單獨的線程來讀寫串行端口。對于串行端口來說,還必須配置超時值,否則程序可能陷入到一個等待來自串口字符的死循環。通常,配置超時值和配置串口類似。首先用GetCommTimeouts函數獲取當前串口的超時值,然后修改CommTimeouts成員變量的值,最后用SetCommTimeouts設置新的超時值。

  3.2.2 算法分析

  根據電梯檢測規程要求,緩沖器從全壓縮到復位的時間應不大于120秒。上位機從上電檢測開始每隔0.1秒發送一次數據采集命令,并將返回的距離值和開關量信號存儲于不同的數組待分析。數組s(m)和F(n)分別存儲采集到的距離值和開關信號值(0或1),t為每次數據采集循環時間,T為緩沖器回復時間。軟件的算法流程圖如5所示:

  

 

  4 結束語

  基于ARM技術和Windows CE系統的電梯緩沖器復位時間測試儀功能齊備,精確性高,實用性強,滿足了新的檢測規程的要求。本設計方案首次實現了緩沖器復位過程中瞬時脫離點的檢測,實現了各種狀態時刻的精確計時和狀態識別,解決了信號同步,結果自動判斷和輸出等問題。隨著技術的進一步發展,必將向著多功能、智能化的方向發展。

c語言相關文章:c語言教程


網線測試儀相關文章:網線測試儀原理

上一頁 1 2 下一頁

關鍵詞: ARM9 Windows CE

評論


相關推薦

技術專區

關閉