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