久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

小談標志位 如何釋放CPU

作者:huqin   來源:本站原創   點擊數:  更新時間:2014年04月01日   【字體:


許久沒有發了,分享下最近的感悟。如有錯誤的地方往指正,互相學習,哈哈。廢話不多說,入正題,今天就Modbus說一下。
        對于modbus相信大家并不陌生,我不知道大家怎么寫的,我也希望大家有好 寫法提供參考,那是不勝感激的。在此感謝這段時間大家的幫助,如孫工,韓工,等等。本次講解就是在孫工的基礎上建立的,硬件是用的STM8S系列,
這里直說串口接收中斷與定時器中斷,




以前是這么寫的,用到了一個定時器,一個UART串口,咱先不說stm8   如果用在STC芯片上,那可是很昂貴的,本身就三個定時器,一個UART用,還需要一個定時器輔助,就剩下可憐的一個定時器了。這只是個通訊啊大哥,其他的工作科怎么做。反復的看,反復的改,是不是可以這樣啊,work();這個函數拿出來,再寫一個函數,在這個函數里面包含著它,建立屬于它的標志位,于是出來下邊這個版本,









我們分析下這樣的好處,首先用了標志位后可以與其他函數共享定時器,節約了資源,接下里是省去了 開關定時器的繁瑣步驟。效率自然就上去了。接著往下看,在485通訊時是否遇到過返回數組不全的問題,(接收的前段數據時正確的),我遇到過,在STM8 上邊,為什么呢,愿意在于DE端的控制上,還未發送完成就關閉的發送使能,程序如下未改正前。



發現問題后你可能會這么改。如下


哈哈,成功返回所有數據,高枕無憂了。是嗎?我咋么覺得這個延時這么礙眼啊,配合簡單的任務可能不會出問題,如果1S通訊10次的話你還能笑出來嗎?
那會你應該考慮怎么改良一下那,繼續往下看 ,再用標志位,




仔細看的會發現  DE端的控制跟work()寫在一塊了,給發送完成提供了充足的時間,又把CPU騰出來干別的事情,一舉兩得吧,哈哈,這樣通訊50/s次表示無壓力,再往下說,是不是遇到過調試通訊無返回的情況,是不是還不知道問題出來那一塊,好吧,我們不如加點指示的東西,學習下人家TCPIP,加一個通訊指示燈,怎么加呢,是不是會這樣。


這里就不寫用延時手段或者是再各定時器的寫法了,以上這個寫法通訊時會起到指示作用,也很節約CPU,但是他接收錯誤數據時也會指示,作用不是很好,再看一下放在哪里好呢,恩  下邊這里,







 好了   就到這里,有什么不對 地方麻煩指正,這里先謝謝。 純屬個人見解獻丑了

關閉窗口

相關文章

主站蜘蛛池模板: 成人精品视频 | 国产精品自拍视频网站 | 成年人免费看的视频 | 永久www成人看片 | 欧美一区免费在线观看 | 四虎最新视频 | 日本不卡视频在线播放 | 日韩中文字幕免费 | 人人种亚洲 | 欧美精品久久久久 | 电影午夜精品一区二区三区 | 9久久婷婷国产综合精品性色 | av在线电影网站 | 午夜午夜精品一区二区三区文 | 青青草网站在线观看 | 一区二区精品视频 | 久久免费看 | 一区二区三区精品在线视频 | 亚洲美女网站 | 国产精品一区久久久 | 久久久精| 美女视频. | 久久久久国产精品一区二区 | av毛片| 国产在线观看免费 | .国产精品成人自产拍在线观看6 | 色婷婷综合在线观看 | 黄色大片在线免费观看 | 欧美综合一区二区 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 亚洲人成人网 | 成人午夜性成交 | 中文字幕一区二区三区乱码图片 | 国产在线精品一区二区三区 | 精品国产欧美 | 国产欧美一区二区精品久导航 | 91精品国产乱码久久久久久久久 | 欧美激情视频一区二区三区在线播放 | 精品久久久av| 亚洲成人精品在线观看 | 久久久久无码国产精品一区 |