在一个例程中
PORTC_PCR5 |= PORT_PCR_MUX(2); // 开启PC5管脚SPI0 SPI0 SCK
PORTC_PCR6 |= PORT_PCR_MUX(2); // 开启PC6管脚SPI0 SPI0 MOSI
在另一例程中
PORTC_PCR5 |= PORT_PCR_MUX(2)|(uint32_t)~(uint32_t)PORT_PCR_MUX(5); // 开启PC5管脚SPI0 SPI0 SCK
PORTC_PCR6 |= PORT_PCR_MUX(2)|(uint32_t)~(uint32_t)PORT_PCR_MUX(5); // 开启PC6管脚SPI0 SPI0 MOSI
下面相对上面多了 |(uint32_t)~(uint32_t)PORT_PCR_MUX(5)这有做何解,什么迷惑,求解
PORT_PCR_MUX(5)是管脚的复用功能5的宏,强制转换成32位后取反,再强制成32位后,吧MUX三位变成了010,或上管脚的复用功能2的宏后,变成100,在管脚的信号复用复位值111或成了011,不再是管脚复用功能2了?我这样理解有错吗
|