嵌入式開發中的常見問題

1、單片機等小的外部總線

單片機等小的MCU一般都有外部總線,可以用來接真彩LCD(異步總線接口TFT顯示屏)。手機上,大部分都是用同步(先給出一個地址,然後連續的刷數據)接口的屏。

2、ARM處理器的應用場景

ARM7:工業控制、手機;

ARM9:圖像顯示;

Cortex-A:高性能的應用:手機、山寨本;

Cortex-M:低端的應用;

Cortex-R:中端的應用,比較少見;

3、ARM處理器的異常

一般情況下,前面的一些中斷(比如前15種)是由ARM公司自己設計的,並且是固定的,後面的部分中端則是由不同的芯片廠家定義的。

4、處理器的System Timer

System Timer 即Systick,在沒有OS時,可以作爲通用的定時器使用。在需要OS時,可以作爲OS的系統時鐘。

5、同一中斷的禁止和使能分別由不同的寄存器控制

目前,很多的處理中都會有這樣的現象,同一中斷的禁止和使能分別由不同的寄存器控制。禁止該中斷時,向中斷屏蔽寄存器中對應的位寫入1,使能該中斷時,向中斷使能寄存器的對應位寫入1。

這樣分開控制的好處是:

A.不用將中斷控制寄存器的值先讀出來,進行或運算後再寫回去;

B.直接寫1,不會影響到其它位所控制的中斷;

6、OD門輸出

在處理器電平與外設電平不匹配時可以使用。

7、如何設置IO的狀態以降低功耗

若某輸入引腳懸空,有漏電流,會耗電。判斷方法:用手摸時,電流會變動。

A.將不用的引腳設置爲0或者1的輸出模式;

B.若配置爲輸入引腳,應將內部上拉打開;

8、ADC和DAC

在系統睡眠時,應該將ADC和DAC關掉,否則會耗電。

9、看門狗的使用

A.不要在中斷中喂狗;

B.喂狗越沒有規律越好;

C.如果在任務中喂狗,一定要把喂狗操作放在最低優先級的任務中,這樣才能確保正常工作的task都被調度到。

10、I2C總線

SDA和SCL都是雙向的,開漏驅動的,使用時要加上拉電阻。

I2C協議的通訊過程:

A.發送start信號(誰發送start信號,誰就是主機)

B.發送從地址

C.傳輸數據

D.發送stop信號

每發送一個字節(8 bit)就要等待從機的ACK。

用軟件模擬的I2C總線有如下缺點:

A.不能進行總線仲裁

B.由於要一直檢測時鐘信號,因此難於實現從設備;

11、邏輯0頁

很多MCU的邏輯0頁可以任意映射,這樣就可以在flash中燒寫多個系統。通過配置字節配置系統從不同的地址啓動,這樣可以實現升級。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章