CC1310模塊上電問題

CC1310爲了實現低功耗模式,對每個外設都有電源管理功能,每個外設的電源手否上電可以單獨控制,並且默認是沒有上電的,參見Reference Manual 6.3 章。因此在每個外設使用前需要先進行電源使能操作,例如在進行串口初始化操作前需要先將串口模塊上電:

HWREGBITW(PRCM_BASE+PRCM_O_PDCTL0,PRCM_PDCTL0_SERIAL_ON_BITN) =1;//SERIAL ON

但經過測試發現這樣是不夠的,現象UART初始化並沒有起作用,而採用單步調試初始化就可以起作用,最後發現是因爲UART模塊上電有延遲,緊接其後進行UART初始化時UART還沒有上電完成,因此可以講以上代碼改爲如下方式,確保上電完成

while(!(HWREGBITW(PRCM_BASE+PRCM_O_PDSTAT0,PRCM_PDSTAT0_SERIAL_ON_BITN))){
        HWREGBITW(PRCM_BASE+PRCM_O_PDCTL0,PRCM_PDCTL0_SERIAL_ON_BITN) =1;//SERIAL ON
    }

 

 

 

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