專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享
從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!
提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力
提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動態(tài)
Configuration Bits 設(shè)置
編寫程序,必須要對環(huán)境條件進(jìn)行設(shè)置(Configuration Bits),比如WDT看門狗、晶振類型、代碼保護(hù)、低壓編程等等,每一種芯片的項(xiàng)目不一樣,有多有少。正確設(shè)置非常重要,否則容易誤燒芯片造成損失。
開發(fā)工具編譯器一般都可以采用菜單方式設(shè)置,在編譯程序時將設(shè)置字一并完成,燒寫芯片同時完成CONFIG的燒入。然而,有時候編譯的HEX文件并不包含CONFIG,因此,在程序代碼中直接包含CONFIG設(shè)置是一種好習(xí)慣(這樣編譯的HEX就會包含CONFIG設(shè)置)。
__CONFIG _CP_OFF & _WDT_ON & _BODEN_ON & _PWRTE_ON & _RC_OSC
上面是CONFIG的一種寫法,注意CONFIG前面是2個下劃線“_”,中間沒有空格,而且不能在行的第一列位置,至少空一格。項(xiàng)目的定義可以在頭文件中找到(*.inc)。每種芯片具體設(shè)置不完全一樣。
如果你對如何采用上述方法設(shè)置CONFIG還是覺得麻煩,教你一個好方法:
在開發(fā)工具軟件(比如MPLAB-IDE)的CONFIG設(shè)置菜單里先選擇好項(xiàng)目,確認(rèn)設(shè)置正確。這時會有一個定義字(16進(jìn)制,隨著設(shè)置不同而改變),例如3FFFH,復(fù)制,再粘貼到__CONFIG后,比如
__CONFIG 3FFFH
就可以達(dá)到同樣效果了。
以上是在匯編代碼中的寫法,對于C代碼,最后要加上“;”,定義的內(nèi)容用括號:
__CONFIG (0x3FFF);
__CONFIG (_CP_OFF & _WDT_ON & _BODEN_ON & _PWRTE_ON & _RC_OSC);
補(bǔ)充:
對于debugger模式和programmer模式,必須注意不同之處是debugger模式下會自動打開調(diào)試狀態(tài)(_DEBUG_ON,對于不同的芯片可能在不同的配置位)。因此我們應(yīng)該選擇programmer模式的Configuration Bits。比如對于PIC16F877A,programmer模式的Configuration Bits為3F3AH,debugger模式的Configuration Bits則為F73AH,我們在程序中必須寫:
__CONFIG 3F3AH
如果采用debugger模式的Configuration Bits,在programmer模式就不允許編程了。