程序如下,仿真值在每句的后面
void main()
{
WDTCTL=WDTPW+WDTHOLD; //p4out为0x18
FLL_CTL0|=XCAP18PF;
P1DIR&=~0XFF;
P1IES|=BIT5+BIT6+BIT7;
P2IES|=BIT0;
P1IE|=BIT5+BIT6+BIT7;
P2IE|=BIT0;
P1IFG=0;
P2IFG=0;
P3DIR|=0XFF;
P4DIR|=0XFF; //p4out为0x18
P4OUT&=~(BIT0+BIT5+BIT6+BIT7); //p4out为0x18
P4OUT|=BIT1+BIT2+BIT3+BIT4; //p4out为0x1e
P3OUT|=0XFF; //p4out为0x1e
BTCTL=BT_ADLY_16; //p4out为0x1e
IE2=BTIE; //p4out为0x1e
_EINT();
LPM3;
while(1) //p4out为0x1e
{
P1IE&=~BIT5+BIT6+BIT7; //p4out为0x18
P1IFG=0; //p4out为0x18
为什么p4out的值上电就是0x18呢,不应该是0x00吗?
还有,为什么我都改过了,跑进while()后,又变回0x18呢?
|