硬件条件是SEED-EXP430F5529 V1,.0 程序如下:
#include <msp430.h>
int main(void)
{
volatile unsigned int i;
WDTCTL = WDTPW+WDTHOLD; // Stop WDT
P1DIR |= BIT0; // P1.0 set as output
while(1) // continuous loop
{
P1OUT ^= BIT0; // XOR P1.0
for(i=50000;i>0;i--); // Delay
}
}
问题:观察这段程序,很明显是P1DIR是寄存器,既然是寄存器就应该有物理地址,当我打开头文件的时候却并未发现,只是发现以下两条信息:
SFR_8BIT(PADIR_L); /* Port A Direction */ 1504行
#define P1DIR (PADIR_L) /* Port 1 Direction */ 1530行 在CC35.3下观察
就在无发现其它有用的信息。按我的理解头文件不应该是按照如下书写嘛?
SFR_8BIT (PADIR_L)=0X020004 ; /* Port A Direction */
#define P1DIR (PADIR_L) /* Port 1 Direction */
这样才指向了PI的寄存器吧?
物理地址来源于:
追问关于volatile是什么意思,这类的定义可以在那里看到呢?谢谢