XMC4500引脚地址-寄存器地址问题

XMC4500

最近使用XMC4500进行引脚功能初始化配置的时候,由于不清楚XMC4500内部寄存器与实际引脚的关系,摸索了很久,在此将两者的关系搞明白一下

首先确定PORTx->IOCRx在控制哪些引脚

每个IOCRx寄存器控制着4个引脚。每个引脚占用一个字节(8bit)。
比如IOCR4控制 Px.4 Px.5 Px.6 Px.7
更具体,PORT1->IOCR4 控制着P1.4 P1.5 P1.6 P1.7
每个引脚占用着8bit。比如PORT1->IOCR4=0x00009000H
从右边往左边数,每8bit,控制一个引脚。比如0x90代表控制P1.5引脚。

引脚是如何通过8bit被定义的?

比如PORT1->IOCR4=0x00009000H,其中0x90代表控制P1.5引脚。
则0x90H=10010000B。此处,高五位控制引脚状态,低三位一般为000。
则高五位剔出=10010,前面补0得到高5位为0001 0010,即0x12.然后由端口功能表决定输出功能。

Licensed MIT OR GPL3.0 WHATEVERS ON GITHUB_PAGE SHOW YOU