SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOF;
ui32Loop = SYSCTL_RCGC2_R;
其中blinky的程序中由上面两句,SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOF;是使能PORTF时钟,是对RCGC2寄存器bit5作置1操作。
但是bit5的register type是RO:Software can read this field. Always write the chip reset value.只能写其reset值,而寄存器的Reset值是0.
那为什么在blinky的程序中
#define SYSCTL_RCGC2_GPIOF 0x00000020 // Port F Clock Gating Control
SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOF;
给PORTF所在的bit5置1了呢?我哪里理解错误了?
Hank Zhao:
你好,RCGC2是RCGCGPIO寄存器的legacy register,对RCGC2的操作就相当于对RCGCGPIO的操作,RCGCGPIO的bit5的register type是R/W的。
yujun shi:
回复 Hank Zhao:
谢谢您的回答,但是什么是legacy register,为什么不直接把 RCGC2的bit5的register type更改为R/W呢?