国产专区综合网_天堂va蜜桃一区二区三区漫画版_性色一区二区三区_美女啪啪无遮挡免费久久网站_亚洲成人a**站_懂色av一区_66精品视频在线观看

您好,歡迎訪問天氏庫力官網(wǎng)!


首頁 > 技術(shù)支持 > 技術(shù)文庫 >

試驗機的兩種實時串口通信方法詳解

返回列表來源:天氏庫力 發(fā)布日期 2018-12-25 瀏覽:

計算機被越來越廣泛地使用在從外部機器或設濟上獲取數(shù)據(jù),并在對數(shù)據(jù)進行加工處理后進步去控制外部機器或設備的應用中。在此過程中,計算機與外部電路采用什么接口就顯得尤為重要。PC機中的異步串行通信口因具有接口簡單,容易實現(xiàn)等優(yōu)點,己被廣泛的使用,成為一種常用接口。
 
在Windows中,異步串行通信口驅(qū)動程序充當了通信程序的角色,它對Windows程序設計人員隱藏了串口通信的底層操作,通過Windows的API函數(shù)為用戶提供了更簡單的訪問接口-與文件的操作常相似的接口。
 
1.兩種實時串口通信方法
當串口的通信電路收到一個數(shù)據(jù)后,會向CPU發(fā)出個中斷請求,通過響應這個中斷可以非常及時±也對數(shù)據(jù)進行處理,可以說這是實時串口通信的最好不能進行像響應斷這樣低級的報作,只能通過編寫設備驅(qū)動程序來實現(xiàn)。而編寫設備驅(qū)動程序比編寫普迎的應用程序要復雜得多。且如果設備驅(qū)動程序有問題將有可能造成整個windows崩潰。所以,除非是在對實時性要求非常苛刻的應用中,否則建議不要采用上述方法。下面將介紹兩種能夠在windows中實現(xiàn)串口通信的簡單易行的方法。
 
1.1利用定時器
 
定時器是一種特殊的資源,它能夠被賦予一個時間值,此后每隔這個時間,定時器便會向指定窗口發(fā)送一條定時器消息或調(diào)用一個指定的回調(diào)函數(shù)。因此利用定時器,我們便可以在一定程度上實現(xiàn)實時串口通信,設置定時器,進入消息循環(huán),然后在收到一條定時器消息時便去接收傳到串口中的數(shù)據(jù),并對數(shù)據(jù)進行相應的處理;然后繼續(xù)消息循環(huán),等待下條定時器消息。這種通信方式有兩個需要澄清:
 
a.在等待定時器消息到達期間,可能有不止一個數(shù)據(jù)傳到串口中,這樣會造成數(shù)據(jù)丟失嗎?
因為windows本身對串口提供了一個數(shù)據(jù)緩沖區(qū),每當收到一個數(shù)據(jù)后,windows會首先將該數(shù)據(jù)保存到該緩沖區(qū)中,因此只要在等待定時器消息到來期間傳到串口的數(shù)據(jù)不超過windows的串緩沖區(qū)的大小,便不會造成數(shù)據(jù)丟失。
 
b.如何確定定時器的時間值
定時器的時間值的確定要根據(jù)實際應用環(huán)境中對系統(tǒng)的實時性要求及接收的數(shù)據(jù)試來確定。如果應用環(huán)境對實時性要求不高、接收到的數(shù)據(jù)不多則可以將時間值設得大些;相反,在對實時性要求相對較高的數(shù)據(jù)很多時,則應將時間值設得小些。
 
另外,windows對實時器的最小時間值有個限制。就是最小時間值為55ms,如果定時器被賦予比這個時間值更小的值,系統(tǒng)都認為是55,也就是說,利用定時器進行實時串口通信,最大的延遲可能為55ms。如果應用環(huán)境要求實時處理的延遲低于55ms,或在55ms內(nèi)所接收到的數(shù)據(jù)大于windows串緩沖區(qū)的人小則不能使用這個實時通信方法
 
1.2利用多線程技術(shù)
在利用定時器產(chǎn)生的定時器消息可以每間隔一段時間去進行一個串口通信處理,那么為什么非要間隔一段才去處理而不是一直等待,一旦發(fā)現(xiàn)串口接收數(shù)據(jù)立即處理呢?這需要從windows消息循環(huán)機制說起。對于每個擁有窗口用戶界面的應用程序,windows都要求它有個消息循環(huán)來處理各種消息(如鍵盤按鍵。鼠標移動窗口繪制等),一旦消息循環(huán)中止。該應用程序的窗口將不再響應任何消息。從用戶的角度來看,這個窗口就意味著己經(jīng)停止響應,是個死窗口。所以,在一般的單線程應用程序中,如果一直等待串口接收到數(shù)據(jù),就將造成程序的窗口界面不可訪問。
 
要解決這一問題可以采用多線程程序設計技術(shù)。當系統(tǒng)創(chuàng)建一個進程時,都會同時為該進程創(chuàng)建一個線程稱之為主線程。普通的應用程序只有這一個線程。消息循環(huán)依賴于它,所以它絕不應該在消息循環(huán)之外停下來等待某事件發(fā)生。
 
一個線程不行,考慮能否使用多個線程。即在程序啟動后,人為的再創(chuàng)建一個線程稱之為輔助線程,這樣包括系統(tǒng)創(chuàng)建進程時創(chuàng)建的線程就有兩個線程了。讓主線程執(zhí)行消息循環(huán),而輔助線程則專門負責進行串口通信。這樣一來便可以讓輔助線程停下來,專門等待傳到串口中的數(shù)據(jù)。一旦收到數(shù)據(jù)就立即執(zhí)行。對數(shù)據(jù)進行處理。可見,通過多創(chuàng)建一個輔助線程使得串口通信的實時性比利用定時器要高得多,比直接響應中斷的方式相差不了多少了。
 
2.試驗機應用中的比較
對彈簧試驗機和材料試驗機測試系統(tǒng)中有關上下位通信問的解決法,分別采用了上述兩種方法,下面將從幾個不同的方面對這兩種方法的優(yōu)缺點進行比較。
 
①實現(xiàn)的難易程度上看
利用定時器來實現(xiàn)實時串行通信的方法可以說是很簡單的,只需要設置一個定時器,然后在響應windows的定時器消息時進行一次串行通信。由于這種方法只需要一個線程因此也不存在線程同步的問題。
 
利用多線程來實現(xiàn)實時串行通信相對而言就比較復雜了,首先,要額外創(chuàng)建一個線程并要對該線程進行管理,其次,兩個線程之間如果需耍進行數(shù)據(jù)交換則還需要考慮到線程同步的問題。
 
②CPU資源占用率上看。
對于第一種方法。由于每隔一段時間就要查詢一次是否有數(shù)據(jù)到達。而且隨著應用環(huán)境對實時性要求的提高,這個時間間隔越短,如果不是很頻繁地接收到數(shù)據(jù),那么這些查詢勢必會減小CPU的利用率。
 
對于第二種方法則CPU的利用率較高,因為如果沒數(shù)據(jù)到達,則串口通信的輔助線程處于等待狀態(tài),只有串口接收到數(shù)據(jù)后該線程才會被激活重新進的就緒狀態(tài)。因此它不會消費CPU資源。
 
③實時性程度的角度上看
第一種方法的實時性程度是可變的,與設置的定時器的時間間隔有關,但最小間隔是55ms,因此這種方法所能達到的實時性程度并不是很高。而這55ms是被系統(tǒng)所制約的,無法通過提高計算機性能或提高算法效率等方法來縮小這一限制。
 
第二種方法則不同,只要一接收到數(shù)據(jù),程序便可以立即處理,因此實時性比第一種方法要高得多,且制約實時性的唯一因素就是處理數(shù)據(jù)的那段代碼所消耗的時間,這一時間可以通過提高計算機性能、提高算法效率或改變線程優(yōu)先級等手段來縮短。從而進一步提高實時性程度。
 
由此看出,在實際應用中應該根據(jù)具體的應用環(huán)境來選擇不同的方法:如果應用環(huán)境對實時性要求不高時,則可利用定時器,這將便于程序的調(diào)試也不會碰到因線程同步不好而造成系統(tǒng)出錯或死鎖的問題;如果應用環(huán)境對實時性要求較高,用定時器無法實時或只能勉強實現(xiàn)時,則應考慮采用多線程技術(shù)。此時應注意線程同步問題及對輔助線程的管理。
 
3.結(jié)束語
本文介紹的兩種方法可以較好地實現(xiàn)windows下的實時串口通信,且己經(jīng)能夠滿足大部分的應用需求,這兩種實時串口通信的方法都分別在彈簧試驗機和材料試驗機測試系統(tǒng)有成功的應用,并取得了令人滿意的效果。然而我們應該知道,如果通過對windows對串口進于操作。由于windows在發(fā)送數(shù)據(jù)之前或接收數(shù)據(jù)之都要進行很多額外的處理,這些都將消耗一定的CPU資源從而降低了處理實時性程度,因此如果應用環(huán)境對實時要求相當苛刻則這兩種方法都將不再適用,這時則應考慮采用編寫設備驅(qū)動程序的方法了。

推薦閱讀

【本文標簽】:試驗機實時串口通信方法

【責任編輯】:天氏庫力 版權(quán)所有:http://m.tsbeehall.com/轉(zhuǎn)載請注明出處

最新資訊

全國服務熱線134-0513-1752

国产专区综合网_天堂va蜜桃一区二区三区漫画版_性色一区二区三区_美女啪啪无遮挡免费久久网站_亚洲成人a**站_懂色av一区_66精品视频在线观看
国产精品99久久久久久宅男| 久久精品夜色噜噜亚洲a∨| 国产福利91精品一区二区三区| 成人午夜av在线| 激情都市一区二区| 色老汉av一区二区三区| 久久综合给合久久狠狠狠97色69| 亚洲视频电影在线| av亚洲精华国产精华精华| 久久久久久久久久久电影| 婷婷久久综合九色综合绿巨人| 国产aⅴ综合色| 国产精品视频免费看| 国产伦精品一区二区三区视频青涩| 欧美日韩一区久久| 日韩影院在线观看| 91精品国产品国语在线不卡| 亚洲国产成人av| 欧美一区二区网站| 九色综合国产一区二区三区| 欧美高清视频不卡网| 另类小说视频一区二区| 久久综合久久99| 国产成人综合亚洲网站| 国产精品不卡视频| 欧美性受xxxx| 青娱乐精品视频| 亚洲欧洲精品天堂一级| 日本道免费精品一区二区三区| 午夜欧美在线一二页| 色妹子一区二区| 日本欧美一区二区| 国产日本欧洲亚洲| 色婷婷久久综合| 国产一区二区三区综合| 伊人一区二区三区| 欧美一区二区女人| 成人教育av在线| 国产一区二三区| 亚洲成a人片在线观看中文| 久久影院午夜论| 色偷偷久久一区二区三区| 久久精品国产一区二区三| 亚洲黄色av一区| 色综合天天综合网天天狠天天 | 中文字幕制服丝袜成人av| 日韩三级伦理片妻子的秘密按摩| 精品一区二区日韩| 亚洲一二三四久久| 国产精品三级av| 久久久久久久久97黄色工厂| 欧美一级欧美一级在线播放| 91丨porny丨国产入口| 狠狠色伊人亚洲综合成人| 久久国产福利国产秒拍| 国产美女av一区二区三区| 国产91精品一区二区麻豆网站| 成人综合婷婷国产精品久久蜜臀| 国产精品亚洲一区二区三区在线| 99视频在线观看一区三区| 91黄色激情网站| 91精品一区二区三区久久久久久| 精品成人一区二区三区四区| 久久久蜜桃精品| 亚洲成人777| 国产精品一区二区久久不卡| 91美女视频网站| 久久免费精品国产久精品久久久久| 国产欧美日产一区| 男女性色大片免费观看一区二区| 国产毛片精品国产一区二区三区| 97精品国产露脸对白| 777欧美精品| 亚洲欧美在线高清| 免费一级片91| 欧美日韩高清在线| 国产日韩一级二级三级| 久久精品噜噜噜成人88aⅴ| 色婷婷综合久久久| 日韩精品五月天| 欧美日韩不卡一区二区| 亚洲精品成人在线| 国产+成+人+亚洲欧洲自线| 91精品国产综合久久精品性色| 中文字幕日本乱码精品影院| 国产精品69毛片高清亚洲| 日韩免费电影一区| 五月天欧美精品| 欧美日韩国产免费一区二区| 亚洲私人黄色宅男| 91网站最新网址| 亚洲精品va在线观看| 成人性生交大合| 国产农村妇女毛片精品久久麻豆| 国产成人在线视频网站| 欧美xxxx在线观看| 东方aⅴ免费观看久久av| 国产欧美日韩亚州综合| 91同城在线观看| 天天av天天翘天天综合网| 欧美电视剧免费观看| 国产一区二区三区在线看麻豆| 中文字幕电影一区| 51精品秘密在线观看| 国产精品一区二区久激情瑜伽 | 国产精品久久久久久亚洲伦| 91小视频在线观看| 婷婷成人激情在线网| 久久久久久久久蜜桃| 成人黄色在线网站| 亚洲成人综合在线| 国产欧美日韩精品a在线观看| 欧美丝袜丝交足nylons| 久久国产剧场电影| 一区二区三区国产| 中文字幕免费不卡在线| 欧美人牲a欧美精品| 波多野结衣在线aⅴ中文字幕不卡| 亚洲尤物视频在线| 欧美国产一区二区在线观看| 欧美一级xxx| 欧美吞精做爰啪啪高潮| 国产黄色成人av| 国产一区999| 国产在线视频一区二区| 天天操天天干天天综合网| 亚洲桃色在线一区| 亚洲免费在线电影| 亚洲男帅同性gay1069| 中文字幕日韩一区二区| 国产精品久久久久久久岛一牛影视| 欧美日本精品一区二区三区| 欧美色图在线观看| 91成人免费在线视频| 在线视频欧美区| 在线观看免费视频综合| 欧美影院午夜播放| 欧美日本视频在线| 精品日韩一区二区| 国产亚洲欧美日韩日本| 国产精品免费看片| 一区二区三区丝袜| 亚洲国产色一区| 美女视频一区在线观看| 美女脱光内衣内裤视频久久网站| 日日夜夜一区二区| 懂色中文一区二区在线播放| 在线观看一区二区精品视频| 欧美日韩黄色影视| 2022国产精品视频| 欧美国产禁国产网站cc| 国产精品久久久久久久浪潮网站| 亚洲最快最全在线视频| 日韩在线卡一卡二| 色综合久久久久综合体| 精品欧美一区二区在线观看 | 欧美日韩电影在线播放| 欧美韩国一区二区| 久久激情综合网| 欧洲激情一区二区| 中文字幕第一区综合| 麻豆成人综合网| 一本色道a无线码一区v| 精品国产免费一区二区三区四区 | 国产成人免费视| 欧美大片在线观看一区| 亚洲免费在线视频| 国内精品嫩模私拍在线| 精品视频免费在线| 亚洲精品国产一区二区精华液| 韩国理伦片一区二区三区在线播放| 欧美在线啊v一区| 亚洲男同性恋视频| 99视频一区二区三区| 欧美国产激情二区三区| 成人午夜私人影院| 国产精品入口麻豆原神| 精品写真视频在线观看| 4438x成人网最大色成网站| 亚洲免费资源在线播放| 波多野结衣在线aⅴ中文字幕不卡| 久久久久久99久久久精品网站| 免播放器亚洲一区| 2023国产一二三区日本精品2022| 狠狠色丁香久久婷婷综合丁香| 日韩欧美精品在线| 国产精品一区二区免费不卡| 国产精品电影一区二区| 色老综合老女人久久久| 亚洲二区在线观看| 久久新电视剧免费观看| 成人av在线播放网站| 亚洲黄色免费网站| 日韩三级在线免费观看| 极品销魂美女一区二区三区| 亚洲国产岛国毛片在线| 制服.丝袜.亚洲.另类.中文| 美女视频黄频大全不卡视频在线播放| 91精品国产综合久久久蜜臀图片 | 中文字幕一区二区三区四区不卡|