24小時(shí)聯(lián)系電話:18217114652、13661815404
中文
技術(shù)專題
如何快速的進(jìn)行單片機(jī)開發(fā)
作為一個(gè)單片機(jī)開發(fā)的老司機(jī),在這里告訴大家如何快速的進(jìn)行單片機(jī)開發(fā),完成自己的項(xiàng)目。
一、整理需求,如果你們的產(chǎn)品經(jīng)理已經(jīng)整理出需求那就更好了。拿到需求后,如果有疑問請(qǐng)及時(shí)溝通。請(qǐng)不要有疑點(diǎn),例如:完成項(xiàng)目時(shí)間、產(chǎn)品的工藝流程等。
二、繪制出開發(fā)項(xiàng)目的整個(gè)工藝流程圖(工作流程),務(wù)必讓這個(gè)過程占據(jù)你的開發(fā)時(shí)間的一半以上。拿著完整的項(xiàng)目流程圖,相信所有的碼農(nóng)都可以輕輕松松完成項(xiàng)目。
二、從某寶上面購(gòu)買一塊目標(biāo)開發(fā)板,什么電路板開發(fā)、PCB設(shè)計(jì)等硬件開發(fā)都可以放在后面。咱們可以先在開發(fā)板上驗(yàn)證自己的程序、工藝流程以及概念,這樣可以快速開發(fā)出你的項(xiàng)目。例如STM32、51等開發(fā)板非常多。在購(gòu)買單片機(jī)開發(fā)板的時(shí)候有三點(diǎn)要注意:
1、開發(fā)板的功能一定要能滿足你項(xiàng)目的所有需求。
2、開發(fā)板的資料及示例代碼要足夠多,方便后面的開發(fā)可以照搬。
3、開發(fā)板盡量要能支持仿真調(diào)試。
(單片機(jī)開發(fā)板)
三、如果你是進(jìn)行物聯(lián)網(wǎng)方面的單片機(jī)開發(fā),建議你先買一個(gè)物聯(lián)網(wǎng)模塊集成到自己的開發(fā)板上,先進(jìn)行聯(lián)網(wǎng)調(diào)試,寫出自己的業(yè)務(wù)代碼。物聯(lián)網(wǎng)模塊硬件開發(fā)部分請(qǐng)丟給你的PCB設(shè)計(jì)工程師,你不要把過多的精力放在硬件上面。當(dāng)然如果你的IO口用的不多及運(yùn)算量比較小,可以直接用聯(lián)網(wǎng)芯片來開發(fā),將聯(lián)網(wǎng)芯片當(dāng)成單片機(jī)來進(jìn)行開發(fā),這樣可以節(jié)省耗電及硬件成本。例如:Esp8266支持片上開發(fā)、支持WIFI、藍(lán)牙,有4-6個(gè)IO口可以用。
(聯(lián)網(wǎng)模塊)
四、如果你的單片機(jī)開發(fā)項(xiàng)目需要顯示屏幕,那么在寫代碼的時(shí)候,可以把開發(fā)板的樣例代碼搬過來修修改改,相信這樣可以大大提高你的項(xiàng)目開發(fā)速度。如果你還想加快速度,就建議你使用串口屏,串口屏的界面是在上位機(jī)上拖拖拽拽就可以完成,我用過迪文的串口屏就是這樣。
(串口屏)
五、盡量使用開發(fā)板帶的仿真調(diào)試,如果沒有仿真調(diào)試建議你換一個(gè)MCU進(jìn)行開發(fā)。
(仿真器)
六、真機(jī)調(diào)試過程中一定要使用在線調(diào)試,請(qǐng)務(wù)必學(xué)會(huì)使用單片機(jī)開發(fā)的在線調(diào)試功能。使用在線調(diào)試的好處是可以看出程序時(shí)宕機(jī)在哪一行代碼及程序崩潰時(shí)的堆棧。
七、在前期寫程序的時(shí)候,建議你多打印一些日志。日志的格式建議使用:
printf(“file:%s line:%d”,__FILE__,__LINE__);
看見沒這個(gè)日志語(yǔ)句里含有哪個(gè)文件的哪一行,相信這樣的調(diào)試日志對(duì)你快速的單片機(jī)開發(fā)很有幫助。
八、建議你在單片機(jī)項(xiàng)目開發(fā)的過程中使用Git管理工具,即便單片機(jī)開發(fā)的代碼量相對(duì)較少。如果你不會(huì)使用Git,那么建議你每隔2個(gè)小時(shí)就備份一下代碼,可以讓你的代碼可以回溯到之前的版本。在你有時(shí)間的時(shí)候請(qǐng)學(xué)會(huì)使用Git代碼管理工具,建議你使用Gitee碼云。
九、在樣機(jī)上調(diào)試的時(shí)候,如果遇到一些詭異問題,請(qǐng)把你的硬件工程師叫過來,把鍋甩給他,讓他陪你一起解決疑難雜癥(誰(shuí)讓咱是軟件工程師呢)。
上海韜放電子提供專業(yè)的單片機(jī)開發(fā)服務(wù),如果您有這方面的需求,請(qǐng)與我們聯(lián)系。