現象:Port、Dio配置正常的情況下,IO寫或者翻轉函數正常執行后,IO電平未按照預期切換電平。
排查:
- 第一步:檢查PORTx_PCRy寄存器值:
- DWP:
- 域寫保護:此字段指示允許哪個內核或 DMA 寫入此引腳寄存器 和 GPl0 寄存器對應于這個引腳。
- 0-允許寫, 1-不允許寫。
- 該寄存器值與MCAL配置Port Multicore Support對應。
- DWP:
- 第二步:檢查EB配置Port ->Port Multicore Support。
- 勾選時:DWP=7
- 不勾選:DWP=0
結論:CPU無法正常控制IO的原因是DWP配置為7,導致CPU沒有寫的權限。
解決:取消EB配置中Port ->Port Multicore Support配置項的勾選,不勾選該配置項即可使DWP配置為0,允許CPU寫該IO。