一個(gè)小技巧,減少M(fèi)CU現(xiàn)場的麻煩
但凡是做MCU開發(fā)的,那入門課程必定是環(huán)境搭建,IO點(diǎn)燈,串口收發(fā)數(shù)據(jù)……
從小白滿頭大汗的實(shí)現(xiàn)了點(diǎn)亮LED的喜悅,到串口助手能收發(fā)MCU數(shù)據(jù)的洋洋自得,是每一個(gè)工程師入門的體驗(yàn)課,在跨入門檻之后,開始各種模塊的學(xué)習(xí)。
再之后,參與了項(xiàng)目,把畢生所學(xué),熔煉于一體,弄得遍體鱗傷仍不能滿足BOSS的一個(gè)眼神。
終于,咬咬牙,放一滴精血,瞬間突破,蛻變成型,交付試用,一群江湖人士圍觀品頭論足。歡呼聲中,剛剛得到一絲釋放,正準(zhǔn)備穩(wěn)固修為。
然而,前方現(xiàn)場的一個(gè)電話,迎來了噩夢,又墜深淵。
“喂,客戶說不通訊啊,怎么辦?”“不會啊,咱在家里都試過了,是不是他們改協(xié)議了?”“不知道,反正客戶說,他們不知道,讓咱們解決?!?/span>@#%¥……!¥!……¥(此處省略一萬個(gè)字)“那個(gè)#!¥加電了么?”“要不,你連電腦看下……要不,換個(gè)板子試試。”剛剛準(zhǔn)備名揚(yáng)江湖,哎,不成想成了反派。
今天準(zhǔn)備介紹下自己設(shè)計(jì)中,使用的一個(gè)小技巧,非常簡單,卻減少了不少現(xiàn)場的麻煩。-----給自己的串口,安個(gè)眼睛
此處,默認(rèn)大家已精通IO和串口的使用。(大神請沉默,小白請參照開發(fā)板例程自行學(xué)習(xí)。)什么是眼睛呢,就是給串口增加個(gè)LED指示收發(fā)狀態(tài)。
先說下IO:IO驅(qū)動LED,硬件電路都怎么連接呢?
A:IO為高時(shí),LED亮,IO為低時(shí),LED滅。電阻為上拉電阻,IO驅(qū)動LED亮滅。IO電流加載到LED上,長期點(diǎn)亮LED,會發(fā)現(xiàn)有些發(fā)燙。
B:IO為高時(shí),LED滅,IO為低時(shí),LED亮。由電源驅(qū)動LED,IO不帶負(fù)載。LED常亮,也基本不會發(fā)熱。
說完了IO,回到主題,說我們的串口。我們的串口,功能是通信,絕對不允許任何輔助功能影響到通訊的穩(wěn)定性,也不要給串口帶來壓力。
MCU的IO是TTL電平,我們使用的串口是標(biāo)準(zhǔn)的232,給串口加個(gè)眼睛,放到哪個(gè)環(huán)節(jié)比較合適呢?經(jīng)過上面驅(qū)動IO的引入,想必已經(jīng)知道了,我打算加載到UART處,即與TTL相連。原理如下:
在這里,采用上述B的方式連接電路,不會對串口收發(fā)產(chǎn)生影響。抓一張成品板工作時(shí)候的照片,效果一般。實(shí)際效果好的多,一排排LED閃爍起來,讓一些人不明覺厲啊,特別的有科技感。
自從加了這個(gè)LED之后,現(xiàn)場再打電話來“喂,串口又連不上了,咋回事?”“?。靠纯礋粼陂W么?”“有個(gè)藍(lán)燈閃,綠燈不閃。@#¥%”“檢查下波特率匹配的對么?然后查查連接線”“線沒事?。俊胰?,波特率設(shè)錯了,沒事了……”嘟。。嘟。。嘟。。
沒準(zhǔn)哪天boss過來,那給誰來一下,客戶說最近咱們現(xiàn)場支持的不錯,有問題響應(yīng)很快嘛。
會計(jì)過來,那給誰,這是你這個(gè)月的工資條。
哈哈哈哈。。。。。
當(dāng)然了,采用這種方法,只是直觀的給我們一種視覺反饋,并不能解讀數(shù)據(jù)收發(fā)的內(nèi)容。
但這種簡單的形式,給交流和問題判斷上,提供不少幫助。串口真的很簡單,但是又真的出一些問題。
不是每一個(gè)人都是工程師,但作為設(shè)計(jì)人員,給自己,給別人一種方便,或許也是一種提升。
最后,藍(lán)色的LED會顯得板子高大尚很多,推薦用藍(lán)色配合黃綠色,區(qū)別收發(fā)狀態(tài)。
END
本文系21ic資深網(wǎng)友Gavin3389原創(chuàng)撰寫
▍