关于IO口输入输出方向设定问题

楼主
关于IO口输入输出方向设定问题
[P]我用的是MSP430F5438单片机,请问5系列的IO口输入数据时候,可不可以这样读取[/P][P]uchar temp;[/P][P]P1DIR &= 0x00;                            //P1 set to input direction
temp = P1IN; [/P][P]如果可以的话,当我用[/P][P]while((temp&0xf0)==0xf0)
{
    P7DIR  |=BIT6;  
    P7OUT  |=BIT6;            //led1亮
}[/P][P]来检验读的数据时候,我用万用表测得的p1口的电平(高四位为1,低四位为0),但是用上面的循环却不能点亮led,而且只有当temp&0x00)==0x00时候才能进入循环。 [/P][P]请大侠指点下,谢谢了!万分感谢![/P]
1楼
建议将while((temp&0xf0)==0xf0)
这句分开来写,读后再去做逻辑判别。
2楼
问题解决了 谢谢! [P]uchar temp;[/P][P]P1DIR &= 0x00;                            //P1 set to input direction
temp = P1IN;[/P][P]这样读是没有问题的[/P]
3楼
[P]问题解决了 谢谢! [/P][P] [/P][P]
uchar temp;                
P1DIR &=~0x00;       //你应该改成这样  //(0)::of input (1): output     //P1 set to input direction
temp = P1IN;
这样读是没有问题的[/P]

电脑版 Page created in 0.1562 seconds width 3 queries.