现象: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。