久久久久亚洲AV无码观看
国产自在自线午夜精品
少妇被粗大的猛进69视频
91伊人久久大香线蕉最新章节
亚洲欧美人高清精品一区
综合亚洲网发偷自拍第一页
日本成本人三级在线观看网站
av免费网站
久久久久久亚洲麻豆精品无码
91高颜值国产合集
欧美视频一区二区三区免费播放
与女小丹乱目录伦
亚洲线日本一区二区三区
欧美熟妇XXXXX欧美老妇
偷玩朋友的醉酒人妻
日本XXXX色视频在线观看免费
日本道在线不卡一区二区
男人激烈吃奶让女人爽动态图
亚洲欧美在线一区中文字幕
超级碰视频免费观看在线视频观看
6090新觉视免费理论片
在厨房被c到高潮a毛片奶水
办公室扒开衣服揉吮奶头在线观看
国产麻豆精品一区区三区V视频
婷婷精品视频在线中文字幕
国产天堂无码久久综合
欧美性野久久久久久久久
孕妇被猛烈进入高清播放
夜夜揉揉日日人人
亚洲欧美激情精品一区二区
特级毛片a级毛片免费播放
色综合视频一区二区
国模大胆一区二区三区
精品国产免费第一区二区三区日韩
av永久免费观看网站蜜芽
欧亚激情偷乱人伦小说专区
一区二区三区精品视视频
996久久国产精品线观看
迅雷种子天堂在线www
办公室少妇激情呻吟A片无码
亚洲欧洲无码AV电影在线观看
亚洲av日韩毛片
玩成熟老熟女视频
亚洲精品无码久久一线
国产91顶级网红在线播放
午夜性刺激免费视频观看不卡专区
国产精品久久久久精品A级v
欧美日韩国产高清综合二区
国产精品亚洲专区无码唯爱网
一本一道一区二区三区无限制观看版下载
72国av视频
性欧美大战久久久久久久
国产成人综合久久二区
米奇777超碰欧美日韩亚洲sm
500夜趣精品第一导航
国产精品毛片在线视频
国产真实乱对白精彩久久
国产无套粉嫩白浆在线观看
亚洲线日本一区二区三区
国产精品网站
国语自产拍在线观看学生
999zyz玖玖资源站免费在线观看
俄罗斯6一9泑女网站
av免费网站
欧美特大黄一级AA免费看
日韩精品无码一区二区
亚洲第一狼人精品无码国
91麻豆国产最新在线
亚洲av日韩毛片
欧美黑人videoof巨大
免费国产在线一区二区
久久久久亚洲AV无码尤物
自拍偷区亚洲综合美利坚
亚洲精品91
色欲香天天天综合网站无码
ZOOSLOOK重口另类BESTIALITY
亚洲国产成人最新精品
精品麻豆一卡2卡三卡4卡网站
黄色网站18禁
久久久久琪琪去精品色无码
厨房玩弄人妻系列
精品少妇一区二区三区在线视频
13一15学生毛片视频
久久精品亚洲Av熟女高清国产
91欧美精品综合在线观看
99精品国自产拍不卡视频高清免费版
99久在线国内在线播放免费观看
国产高清自拍
精品人妻无码一区二区三区蜜桃
国模无码一区二区三区不卡
99久久国产精品一区二区三区
漂亮人妻洗澡被公强 日日躁
jizjizjiz日本护士出水
一级AAA特黄AV片免费观看
秋霞电影院午夜无码免费视频
中文字幕精品无码一区二
国产午夜精品理论片小YO奈
久久无卡码高清免费v
中文国产精品久久不卡
国产精品亚洲二区在线观看
 首頁 | 新聞 | 新品 | 文庫 | 方案 | 視頻 | 下載 | 商城 | 開發板 | 數據中心 | 座談新版 | 培訓 | 工具 | 博客 | 論壇 | 百科 | GEC | 活動 | 主題月 | 電子展
返回列表 回復 發帖

單片機程序開發時,初級工程師常犯的一個錯誤

單片機程序開發時,初級工程師常犯的一個錯誤

這里利用一個實際發生的例子,針對初級工程師經常犯的一個小錯誤,或者經常要走的一個彎路,做了針對性的糾正。希望可以幫到大家,文筆不好文章中有敘述不清的地方大家多多指教。
這篇文章我不是想說編程的規范性的東西,如果你想讓自己的程序文件最起碼直觀的看起來美觀、可讀性強,推薦找華為的“C語言編程規范”。我只想說一說當我們的單片機遇到多個模塊的數據需要處理,類似于“多任務”時我們應該怎么辦?
背景是這樣的,去年9月份開始安排一個工程師開始做電動汽車交流充電樁,機械設計部分由公司機械結構部門負責。充電樁的電子部分總體上分為X個部分(用到的資源),電阻觸摸屏(RS232),M1卡讀寫(RS232),電能計量表(RS485),語音提示(SPI),電力開關(繼電器IO),通訊接口(RS485、CAN)。
工程師做的過程非常勤奮,期間也是困難重重,改了很多個版本,總算今年6月把充電樁立起來了。
咱們來驗收一下吧,結果發現讀卡的時候不能處理觸摸屏,播放語音的時候不能處理讀卡,語音播放不能打斷或者跳躍,反正就是所有事件必須一個一個按部就班的來,一旦操作錯誤就需要多次執行、等待、甚至重新來過。
一個工作3年多的工程師怎么會把產品做成這樣呢?看看程序吧!
一看不要緊,嚇一跳!整個的程序是沒有邏輯的,一條線就往下寫……
While(1)
{
//上電進入主程序 或 觸發觸摸屏
//播放提示語音
Delay();//等待播放完畢
//讀取M1卡信息
Delay();//等待讀卡數據返回
//播放提示語音
Delay();//等待播放完畢
//M1卡數據交互,判定下一步操作及提示
Delay();//等待數據處理完畢
……
……
}
這里說這個工程師基本上對于自己設計的產品沒有任何的整體概念,或者說對自己開發的程序用到設計上會有怎樣的實際效果根本就不清楚。
他犯了幾個我們在程序開發過程中最忌諱的幾個問題:
1、  delay(死等)這類函數只在應該實驗室驗證某個功能過程中用到,在實際的產品開發時無論是主循環while中,還是其調用的函數中,亦或是中斷服務程序中絕對不可以用到。
2、 產品設計的各個子模塊之間的邏輯關系太強,例如:必須等待播音完畢才能讀卡進入下一步操作等。
我們講,產品設計中只有各個事件處理模塊間的邏輯關系弱化,才能更加靈活的進行處理。例如:兩個事件A和B,如果程序開發時將A做成B事件的必要條件,B事件的觸發就必須等待A事件的發生。反之如果A事件作為B事件處理的一個特殊情況,那么程序開發起來就變得靈活很多。
3、  沒有考慮到單片機本身是一個單核單任務的架構,每一個事件都會獨占CPU內核,當多個任務模塊同時存在時我們應該對各個事件進行區分,我們應當分情況、分事件實時性要求等區分對待。
那么針對于這樣的問題,或者是遇到類似的項目我們應該如何處理呢?
我提幾條建議:
1、將硬件系統區分為獨立單元單獨做成底層驅動函數和應用函數,并且函數正常應該有參數和返回值,其中返回值是必要的。如何衡量這類函數呢?這類函數可移植性強,只要一個.h文件和一個.c文件就可以隨意放到任何工程中。例如:語音播放、M1讀卡、485處理等等。
2、將1中的所有函數進行時間評估,評估點有兩個。一個是函數的執行時間t,第二個是函數的周期性發生的時間T,一個最基本的條件是t <  T,理想情況應該是t << T。
3、建立一個集中邏輯處理函數,在這個函數中對1中的各個函數進行調度。這個函數發揮的作用相當于嵌入式系統中的系統調度。這種調度是整個硬件邏輯中所有事件處理的調度,它的目的是完成一個處理過程,但是絕不依賴于任意事件的必要處理過程。這樣就將問題2中提到的事件間的邏輯關系弱化了,處理起來變得十分靈活,使得各個關系不在相互必要。
4、為了保證前面內容的正常實施還需要針對各類事件的周期,建立一個必要的時間管理函數,時間函數的基礎一般情況下由一個內部定時器的中斷來完成,中斷的周期一般我們考慮5-10ms。按照實際需求將N個定時器中斷定義為一個事件處理的周期TT,這個周期應該保證處理完最惡劣情況可能發生的所有t,且保證TT  < T。
5、 這其中也有例外,一些實時性要求高的事件應當用中斷完成。其中中斷處理函數的處理事件應盡量短,時間要求參見2。
進來看看!
PCB快速打樣:800058625
返回列表
四虎永久在线精品视频免费

久久久久亚洲AV无码观看
国产自在自线午夜精品
少妇被粗大的猛进69视频
91伊人久久大香线蕉最新章节
亚洲欧美人高清精品一区
综合亚洲网发偷自拍第一页
日本成本人三级在线观看网站
av免费网站
久久久久久亚洲麻豆精品无码
91高颜值国产合集
欧美视频一区二区三区免费播放
与女小丹乱目录伦
亚洲线日本一区二区三区
欧美熟妇XXXXX欧美老妇
偷玩朋友的醉酒人妻
日本XXXX色视频在线观看免费
日本道在线不卡一区二区
男人激烈吃奶让女人爽动态图
亚洲欧美在线一区中文字幕
超级碰视频免费观看在线视频观看
6090新觉视免费理论片
在厨房被c到高潮a毛片奶水
办公室扒开衣服揉吮奶头在线观看
国产麻豆精品一区区三区V视频
婷婷精品视频在线中文字幕
国产天堂无码久久综合
欧美性野久久久久久久久
孕妇被猛烈进入高清播放
夜夜揉揉日日人人
亚洲欧美激情精品一区二区
特级毛片a级毛片免费播放
色综合视频一区二区
国模大胆一区二区三区
精品国产免费第一区二区三区日韩
av永久免费观看网站蜜芽
欧亚激情偷乱人伦小说专区
一区二区三区精品视视频
996久久国产精品线观看
迅雷种子天堂在线www
办公室少妇激情呻吟A片无码
亚洲欧洲无码AV电影在线观看
亚洲av日韩毛片
玩成熟老熟女视频
亚洲精品无码久久一线
国产91顶级网红在线播放
午夜性刺激免费视频观看不卡专区
国产精品久久久久精品A级v
欧美日韩国产高清综合二区
国产精品亚洲专区无码唯爱网
一本一道一区二区三区无限制观看版下载
72国av视频
性欧美大战久久久久久久
国产成人综合久久二区
米奇777超碰欧美日韩亚洲sm
500夜趣精品第一导航
国产精品毛片在线视频
国产真实乱对白精彩久久
国产无套粉嫩白浆在线观看
亚洲线日本一区二区三区
国产精品网站
国语自产拍在线观看学生
999zyz玖玖资源站免费在线观看
俄罗斯6一9泑女网站
av免费网站
欧美特大黄一级AA免费看
日韩精品无码一区二区
亚洲第一狼人精品无码国
91麻豆国产最新在线
亚洲av日韩毛片
欧美黑人videoof巨大
免费国产在线一区二区
久久久久亚洲AV无码尤物
自拍偷区亚洲综合美利坚
亚洲精品91
色欲香天天天综合网站无码
ZOOSLOOK重口另类BESTIALITY
亚洲国产成人最新精品
精品麻豆一卡2卡三卡4卡网站
黄色网站18禁
久久久久琪琪去精品色无码
厨房玩弄人妻系列
精品少妇一区二区三区在线视频
13一15学生毛片视频
久久精品亚洲Av熟女高清国产
91欧美精品综合在线观看
99精品国自产拍不卡视频高清免费版
99久在线国内在线播放免费观看
国产高清自拍
精品人妻无码一区二区三区蜜桃
国模无码一区二区三区不卡
99久久国产精品一区二区三区
漂亮人妻洗澡被公强 日日躁
jizjizjiz日本护士出水
一级AAA特黄AV片免费观看
秋霞电影院午夜无码免费视频
中文字幕精品无码一区二
国产午夜精品理论片小YO奈
久久无卡码高清免费v
中文国产精品久久不卡
国产精品亚洲二区在线观看