68精品久久久久久欧美,最近中文字幕完整在线看一,久久亚洲男人天堂,最近中文字幕完整视频高清1

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門(mén) >> 關(guān)于開(kāi)發(fā)中如何防止死等程序?qū)е缕渌蝿?wù)運(yùn)行不了方法

關(guān)于開(kāi)發(fā)中如何防止死等程序?qū)е缕渌蝿?wù)運(yùn)行不了方法

關(guān)鍵字:單片機(jī) 嵌入式 循環(huán)程序 作者:admin 來(lái)源:不詳 發(fā)布時(shí)間:2018-05-18  瀏覽:4

 在嵌入式軟件開(kāi)發(fā)中,比如單片機(jī)的程序,我們一定會(huì)寫(xiě)到一個(gè)大的死循環(huán)的程序,也就是輪詢IO口,通常用

while(1)

{

}

來(lái)實(shí)現(xiàn)大循環(huán),程序就會(huì)在while(1)中不斷的循環(huán)執(zhí)行一些任務(wù),但是,任務(wù)與任務(wù)之間如果存在延時(shí),就會(huì)大大的削弱整個(gè)架構(gòu)的實(shí)時(shí)性,雖然現(xiàn)在的高級(jí)單片機(jī)ARM已經(jīng)具有了多線程的機(jī)制,但是避免不了的依然是要寫(xiě)死循環(huán),也就是說(shuō),表面上看到程序是一起在跑的,其實(shí)是把時(shí)間切成若干份,然后進(jìn)行調(diào)度,在linux內(nèi)核中,fork一條進(jìn)程需要調(diào)度,do_thread也需要進(jìn)行調(diào)度。

最近在工作上遇到一個(gè)這樣的問(wèn)題,串口協(xié)議要求比如等到IO口為低電平,數(shù)據(jù)才能發(fā)送。關(guān)于這個(gè)問(wèn)題,沒(méi)別的方法,按照那個(gè)架構(gòu)來(lái)說(shuō)只能死等while(等到IO口低電平輸出),但是這樣就會(huì)遇到一個(gè)問(wèn)題,如果一直死等,萬(wàn)一IO沒(méi)有低電平輸出,那么就會(huì)發(fā)生丟包的可能以及其他任務(wù)會(huì)被直接影響到運(yùn)行,畢竟單片機(jī)一般采用的架構(gòu)都是順序執(zhí)行的,但是看到有工程師做這樣的處理,我也就學(xué)過(guò)來(lái)了,讓while做超時(shí)處理,一旦在一定的時(shí)間內(nèi)等待不到低電平輸出,那么就讓這個(gè)循環(huán)退出,這樣就不會(huì)影響到其它任務(wù)的執(zhí)行了,也降低了丟包了,但還是會(huì)有丟包,只能慢慢調(diào)試了,要是有高手看到麻煩教我一下,最近我們公司也是因?yàn)檫@個(gè)問(wèn)題卡了很久,表示傷不起,我們來(lái)看一下是怎么實(shí)現(xiàn)的。

1.jpg

編輯:admin  最后修改時(shí)間:2018-05-18

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

山阴县| 饶阳县| 淮滨县| 鹤山市| 辰溪县| 石城县| 东乡| 台山市| 丰城市| 司法| 敦煌市| 平度市| 铜川市| 安顺市| 五寨县| 博兴县| 玉龙| 海安县| 疏勒县| 喀什市| 河东区| 鞍山市| 安庆市| 招远市| 瓦房店市| 庆安县| 任丘市| 中超| 萨嘎县| 平阴县| 盐山县| 沿河| 苍溪县| 长宁区| 横山县| 金沙县| 松阳县| 万山特区| 金寨县| 宜川县| 张家港市|