• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      VC++應用軟件程序實現(xiàn)RS-422實時通信的方法研究

      2018-07-12 01:07:58羅霞沈德容貴州航天電子科技有限公司
      數碼世界 2018年6期
      關鍵詞:發(fā)送數據主程序計時器

      羅霞 沈德容 貴州航天電子科技有限公司

      1 引言

      RS-422通信技術廣泛應用于工程中,設計一個符合通信協(xié)議的計算機應用程序,是測試RS-422接口最簡便快捷的方法。

      通常RS-422接口設備之間通信的周期一般為幾毫秒到幾十毫秒,對VC++程序而言,接收數據設計一個工作線程即可,發(fā)送數據則需要定時,而且定時精度決定了實時性。

      本文通過設計發(fā)送數據的功能程序,研究各種定時方法的精度與性能,從而對定時方法進行評價,供編寫RS-422接口VC++程序的工程技術人員參考。

      2 定時方法

      功能程序基于對話框,在主程序中打開串口,設置波特率為921600;編寫功能函數SendData( ),實現(xiàn)向RS-422接口發(fā)送一幀數據;設計定時方法,定時調用SendData( )函數。

      2.1 使用WM_TIMER定時

      映射WM_TIMER消息,在OnTimer函數中調用SendData( ),使用 SetTimer定時。

      2.2 使用GetTickCount( )函數定時

      GetTickCount( )函數返回從操作系統(tǒng)啟動到當前所經過的毫秒數,常常用于測試一段代碼的執(zhí)行時間。定時需要創(chuàng)建線程,線程發(fā)送消息通知主程序時間,主程序掛起線程,在自定義消息函數中調用SendData( )按周期發(fā)送數據。線程函數中定時的代碼如下:

      2.3 使用timeGetTime( )函數定時

      timeGetTime( )函數與GetTickCount( )函數使用方法相同。

      2.4 使用CPU時鐘頻率定時

      使 用QueryPerformanceFrequency和QueryPerformanceCounter定時,CPU頻率越高,定時精度越高。定時需要創(chuàng)建線程,線程函數中定時的代碼如下:

      2.5 使用多媒體計時器

      多媒體計時器即windows提供的內置定時器timeSetEvent,其函數原型如下:

      程序首先通過timeBeginPeriod( )函數和timeEndPeriod()函數設置定時器的最小解析精度,然后調用timeSetEvent( )函數,周期性執(zhí)行l(wèi)pTimeProc回調函數完成SendData( )任務。在定時器使用完畢后,及時調用timeKillEvent( )將之釋放。

      3 測試結果

      運行程序使用不同定時器的發(fā)送數據,用示波器測試數據幀的周期。測試用電腦配置Intel(R) Pentium(R) D CPU 2.80GHz 2.79GHz,內存2.00GB,操作系統(tǒng)Microsoft Windows XP,示波器是安捷倫DS06052A(500MHz,4GSa/s),測試結果見表1。

      表1 計時器測試結果

      4 結論

      根據表1的測試結果,本文推薦在定時精度要求不高(通信的周期大于100ms)時,使用WM_TIMER定時;精度要求較高(通信的周期小于10ms)時,使用多媒體計時器。CPU時鐘頻率定時可以用來作延時,不影響其他任務。

      猜你喜歡
      發(fā)送數據主程序計時器
      移動自組網中MAC層協(xié)議研究
      松鼠的計時器
      淺談數控銑削技術代碼程序的嵌套方式研究
      超高精度計時器——原子鐘
      電控冰箱軟件模塊化設計
      日用電器(2019年12期)2019-02-26 01:53:06
      基于馬爾科夫鏈的LoRaWAN網絡節(jié)點性能分析
      帶標記方式的CRDSA++協(xié)議性能分析*
      通信技術(2018年10期)2018-10-15 07:30:00
      時光倒流 換回PotPlayer老圖標
      抗繆勒氏管激素:卵巢功能的計時器!
      媽媽寶寶(2017年2期)2017-02-21 01:21:22
      使用IPSec安全傳輸數據
      交城县| 新化县| 西乌珠穆沁旗| 康定县| 肥东县| 通山县| 石渠县| 疏附县| 江西省| 元阳县| 镇远县| 寻乌县| 博兴县| 轮台县| 军事| 濮阳县| 龙泉市| 兰西县| 黄龙县| 漠河县| 三台县| 修武县| 浪卡子县| 乌鲁木齐市| 南城县| 鲁山县| 合川市| 荔波县| 海兴县| 寿光市| 津市市| 砚山县| 买车| 枣阳市| 珠海市| 康保县| 陵水| 科技| 松潘县| 乐昌市| 韩城市|