在單片機(jī)應(yīng)用開發(fā)中,代碼的使用效率問題、單片機(jī)抗干擾性和可靠性等問題仍困擾著工程師。為幫助工程師解決單片機(jī)設(shè)計上的難題,現(xiàn)根據(jù)論壇中的討論歸納出單片機(jī)開發(fā)中應(yīng)掌握的幾個基本技巧。
一、如何提高C語言編程代碼的效率
鄧宏杰指出,用C語言進(jìn)行單片機(jī)程序設(shè)計是單片機(jī)開發(fā)與應(yīng)用的必然趨勢。“如果使用C編程時,要達(dá)到最高的效率,最好熟悉所使用的C編譯器。先試驗一下每條C語言編譯以后對應(yīng)的匯編語言的語句行數(shù),這樣就可以很明確的知道效率。在今后編程的時候,使用編譯效率最高的語句。”
他指出,各家的C編譯器都會有一定的差異,故編譯效率也會有所不同,優(yōu)秀的嵌入式系統(tǒng)C編譯器代碼長度和執(zhí)行時間僅比以匯編語言編寫的同樣功能程度長5-20%。“對于復(fù)雜而開發(fā)時間緊的項目時,可以采用C語言,但前提是要求你對該MCU系統(tǒng)的C語言和C編譯器非常熟悉,特別要注意該C編譯系統(tǒng)所能支持的數(shù)據(jù)類型和算法。
雖然C語言是最普遍的一種高級語言,但由于不同的MCU廠家其C語言編譯系統(tǒng)是有所差別的,特別是在一些特殊功能模塊的操作上。所以如果對這些特性不了解,那么調(diào)試起來問題就會很多,反而導(dǎo)致執(zhí)行效率低于匯編語言。”
二、如何減少程序中的bug?
對于如何減少程序的bug,鄧宏杰給出了一些建議,他指出系統(tǒng)運(yùn)行中應(yīng)考慮的超范圍管理參數(shù)有:
1.物理參數(shù)。這些參數(shù)主要是系統(tǒng)的輸入?yún)?shù),它包括激勵參數(shù)、采集處理中的運(yùn)行參數(shù)和處理結(jié)束的結(jié)果參數(shù)。合理設(shè)定這些邊界,將超出邊界的參數(shù)都視為非正常激勵或非正常回應(yīng)進(jìn)行出錯處理。
2.資源參數(shù)。這些參數(shù)主要是系統(tǒng)中的電路、器件、功能單元的資源,如記憶體容量、存儲單元長度、堆疊深度。在程式設(shè)計中,對資源參數(shù)不允許超范圍使用。
3.應(yīng)用參數(shù)。這些應(yīng)用參數(shù)常表現(xiàn)為一些單片機(jī)、功能單元的應(yīng)用條件。如E2PROM的擦寫次數(shù)與資料存儲時間等應(yīng)用參數(shù)界限。
4.過程參數(shù)。指系統(tǒng)運(yùn)行中的有序變化的參數(shù)。
三、如何解決單片機(jī)的抗干擾性問題
鄧宏杰指出:防止干擾最有效的方法是去除干擾源、隔斷干擾路徑,但往往很難做到,所以只能看單片機(jī)抗干擾能力夠不夠強(qiáng)了。單片機(jī)干擾最常見的現(xiàn)象就是復(fù)位;至于程序跑飛,其實也可以用軟件陷阱和看門狗將程序拉回到復(fù)位狀態(tài);所以單片機(jī)軟件抗干擾最重要的是處理好復(fù)位狀態(tài)。
一般單片機(jī)都會有一些標(biāo)志寄存器,可以用來判斷復(fù)位原因;另外你也可以自己在RAM中埋一些標(biāo)志。在每次程序復(fù)位時,通過判斷這些標(biāo)志,可以判斷出不同的復(fù)位原因;還可以根據(jù)不同的標(biāo)志直接跳到相應(yīng)的程序。這樣可以使程序運(yùn)行有連續(xù)性,用戶在使用時也不會察覺到程序被重新復(fù)位過。
四、如何測試單片機(jī)系統(tǒng)的可靠性
有讀者希望了解用用什么方法來測試單片機(jī)系統(tǒng)的可靠性,鄧宏杰指出:“當(dāng)一個單片機(jī)系統(tǒng)設(shè)計完成,對于不同的單片機(jī)系統(tǒng)產(chǎn)品會有不同的測試項目和方法,但是有一些是必須測試的:
1.測試單片機(jī)軟件功能的完善性。這是針對所有單片機(jī)系統(tǒng)功能的測試,測試軟件是否寫的正確完整。
2.上電、掉電測試。在使用中用戶必然會遇到上電和掉電的情況,可以進(jìn)行多次開關(guān)電源,測試單片機(jī)系統(tǒng)的可靠性。
3.老化測試。測試長時間工作情況下,單片機(jī)系統(tǒng)的可靠性。必要的話可以放置在高溫,高壓以及強(qiáng)電磁干擾的環(huán)境下測試。
4、ESD和EFT等測試。可以使用各種干擾模擬器來測試單片機(jī)系統(tǒng)的可靠性。
上一篇:STM8S被設(shè)定讀保護(hù)的芯片如何解除讀保護(hù),重新下載程序
下一篇:單片機(jī)應(yīng)用系統(tǒng)的開發(fā)流程
推薦閱讀
史海拾趣
AiT公司的創(chuàng)立源自一群對半導(dǎo)體技術(shù)充滿熱情的工程師。他們看到了半導(dǎo)體行業(yè)巨大的市場潛力和技術(shù)挑戰(zhàn),決心成立一家公司,專注于半導(dǎo)體產(chǎn)品的研發(fā)和生產(chǎn)。在創(chuàng)立初期,公司面臨資金短缺、市場競爭激烈等諸多困難,但憑借著對技術(shù)的執(zhí)著追求和不懈努力,他們成功開發(fā)出了一系列高性能、高品質(zhì)的半導(dǎo)體產(chǎn)品,逐漸在市場中站穩(wěn)腳跟。
在2017年,誠芯微被認(rèn)定為國家高新技術(shù)企業(yè),這是對公司技術(shù)實力和創(chuàng)新能力的高度肯定。獲得這一榮譽(yù)后,誠芯微進(jìn)一步加大了研發(fā)投入,加強(qiáng)了與高校和科研機(jī)構(gòu)的合作,推動了公司技術(shù)的持續(xù)創(chuàng)新。同時,公司還擴(kuò)大了產(chǎn)能,優(yōu)化了供應(yīng)鏈管理,提升了市場競爭力。
在2009年,誠芯微(CXW)公司在深圳成立,標(biāo)志著其在中國電子行業(yè)的初步涉足。公司創(chuàng)始人憑借對集成電路設(shè)計領(lǐng)域的深刻理解和前瞻性的市場洞察,決定專注于電源芯片的研發(fā)與設(shè)計。初期,公司面臨著資金緊張、技術(shù)儲備不足等挑戰(zhàn),但創(chuàng)始人帶領(lǐng)團(tuán)隊堅持自主研發(fā),逐步積累了技術(shù)實力。
CHINFA公司的創(chuàng)立并非一帆風(fēng)順。在創(chuàng)業(yè)初期,公司面臨著資金短缺、技術(shù)落后和市場競爭激烈等多重困難。然而,公司的創(chuàng)始人憑借對電子行業(yè)的深厚熱愛和堅定信念,帶領(lǐng)團(tuán)隊克服了一個又一個難關(guān)。他們通過自主研發(fā)、技術(shù)創(chuàng)新和市場拓展,逐漸在行業(yè)中嶄露頭角。
隨著業(yè)務(wù)的不斷拓展和市場的不斷擴(kuò)大,屹晶微逐漸意識到與合作伙伴建立長期戰(zhàn)略合作關(guān)系的重要性。于是,在2023年,他們與電子產(chǎn)業(yè)一站式服務(wù)平臺華秋電子達(dá)成了授權(quán)代理合作。這一合作不僅為屹晶微提供了更廣闊的市場渠道和客戶資源,也為其未來的發(fā)展奠定了堅實的基礎(chǔ)。
在合作過程中,華秋電子為屹晶微提供了全方位的支持和服務(wù)。他們共同推廣屹晶微的芯片產(chǎn)品,為客戶提供更優(yōu)質(zhì)的解決方案和服務(wù)。同時,華秋電子還利用自身的技術(shù)優(yōu)勢和渠道優(yōu)勢,幫助屹晶微拓展海外市場,提升品牌知名度和影響力。
以上兩個故事只是屹晶微在電子行業(yè)中發(fā)展起來的一部分。他們的發(fā)展歷程充滿了挑戰(zhàn)和機(jī)遇,但黃米龍和他的團(tuán)隊始終保持著堅定的信念和不懈的努力,為中國的芯片產(chǎn)業(yè)做出了積極的貢獻(xiàn)。
Davies Molding公司自創(chuàng)立之初,就將產(chǎn)品質(zhì)量視為企業(yè)的生命線。在早期,公司創(chuàng)始人意識到,只有提供高品質(zhì)的塑料注塑成型產(chǎn)品,才能在競爭激烈的電子行業(yè)中立足。因此,公司投入大量資源在研發(fā)、生產(chǎn)和質(zhì)量控制上,確保每一件產(chǎn)品都符合嚴(yán)格的標(biāo)準(zhǔn)。這種對品質(zhì)的堅持,不僅贏得了客戶的信任,也為Davies Molding公司贏得了良好的口碑。
USB腦電電路圖集(8PCS)(EEG CIRCUITS)(轉(zhuǎn)) 包括: 1、系統(tǒng)框圖 2、主體放大部分 3、EZUSB CY68013控制電路 4、采樣保持部分 … 查看全部問答∨ |
放在移動平臺非技術(shù)區(qū)沉了,到CE來試試~~公交報站系統(tǒng) 比如到站時,車上會有語音說“到桃源村了,請帶好行李下車” 這個聲音是司機(jī)通過按了啥東東出來的,還是通過啥技術(shù)知道桃源村站到了,隨后自動語音報站 這些系統(tǒng)大多都是WINCE OS吧 有實際整過這方面的朋友沒? 如果還要司機(jī)去操作啥發(fā)出來的聲 ...… 查看全部問答∨ |
對于1D傳輸和2D傳輸手冊上講的很清楚,但是同時源地址和目的地址都分別獨立的支持1D和2D傳輸,而傳輸參數(shù)卻只有一套。如果源地址和目的地址維數(shù)不同的話,應(yīng)該怎么算呢?   ...… 查看全部問答∨ |
在寫一個驅(qū)動程序的時候用到ceddk.lib一個函數(shù)MmMapIoSpace(),編譯后連接出現(xiàn)錯誤: GIO.obj : error LNK2019: unresolved external symbol _MmMapIoSpace referenced in function \"unsigned long __cdecl GIO_Init(unsigned short const *,vo ...… 查看全部問答∨ |
學(xué)習(xí)計算機(jī)體系結(jié)構(gòu)看哪些書好,《計算機(jī)系統(tǒng)結(jié)構(gòu):一種量化研究方法》,我知道很好,但是看得不是很明白,是不是我基礎(chǔ)太差了。大家能不能給點意見,或者推薦一本稍容易的書。謝謝!! … 查看全部問答∨ |
是MAX3000A系列中的3064a,工作電壓是3.3v,可我不小心接了個4點多伏的電壓...是不是我的cpld燒了啊? 因為我下程序下不了.老提示說,下載線沒連好… 查看全部問答∨ |
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- 面壁智能端側(cè)大模型首日上線,英特爾工程師聯(lián)合優(yōu)化實現(xiàn)2.2倍推理效率躍升
- 瞄準(zhǔn)車規(guī)級碳化硅,理想發(fā)表重要成果
- 車規(guī)級MCU國內(nèi)替代提速
- 博世新獲國內(nèi)頭部車企座艙域控項目定點
- 首款測量電動汽車電機(jī)溫度的傳感器問世,提升對磁鐵的保護(hù)以減少稀土的使用
- Arm開發(fā)出計算子系統(tǒng) 以加速汽車設(shè)計的下一代AI芯片的開發(fā)
- 福特汽車申請新專利 或?qū)崿F(xiàn)車庫定向音樂播放
- 泊車場景一定需要超聲波嗎?
- 同星新一代TC1055 Pro開啟車載網(wǎng)絡(luò)測試新時代
- 福特汽車申請新專利 或?qū)⑴鋫浒踩ㄗ粉櫹到y(tǒng)
- 對話NXP CEO Kurt Sievers:讓創(chuàng)新彌漫至整個公司
- 6軸MEMS慣性力傳感器讓自主駕駛更精確
- 技術(shù)文章—CVU 電容電壓單元進(jìn)行fF飛法電容測量
- Qorvo QPF4800雙頻Wi-Fi 6前端模塊貿(mào)澤開售
- 環(huán)球儀器委任渠道合作伙伴拓展美國市場
- 翻蓋造型牛皮材質(zhì)外殼 金立W919獲入網(wǎng)許可
- 小米Max 3曝光:7英寸屏幕+5500mAh大電池
- 成都市武侯區(qū)中小學(xué)將開設(shè)大數(shù)據(jù)和人工智能科普課程
- 世強(qiáng)元件電商PS9402-V-E3-AX現(xiàn)貨半價促銷!
- Vicor 發(fā)布首款 20 Amp 24V Cool-Power ZVS 降壓穩(wěn)壓器