在线情况
楼主
  • 头像
  • 级别
    • 积分5
    • 经验364
    • 文章5
    • 注册2011-11-21
    关于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]
    微控网感谢您的参与
    在线情况
    2
    • 头像
    • 级别
    • 门派
    • 职务总版主
    • 声望+9
    • 财富5
    • 积分3065
    • 经验390701
    • 文章6744
    • 注册2006-03-07
    建议将while((temp&0xf0)==0xf0)
    这句分开来写,读后再去做逻辑判别。
    [COLOR=#0000ff]欢迎发贴分享设计心得、开源DIY...[/COLOR]
    在线情况
    3
    • 头像
    • 级别
      • 积分5
      • 经验364
      • 文章5
      • 注册2011-11-21
      问题解决了 谢谢! [P]uchar temp;[/P][P]P1DIR &= 0x00;                            //P1 set to input direction
      temp = P1IN;[/P][P]这样读是没有问题的[/P]
      微控网感谢您的参与
      在线情况
      4
      • 头像
      • 级别
        • 积分3
        • 经验267
        • 文章7
        • 注册2008-12-27
        [P]问题解决了 谢谢! [/P][P] [/P][P]
        uchar temp;                
        P1DIR &=~0x00;       //你应该改成这样  //(0)::of input (1): output     //P1 set to input direction
        temp = P1IN;
        这样读是没有问题的[/P]
        微控网感谢您的参与
        Powered by LeadBBS 9.2 .
        Page created in 0.4690 seconds with 8 queries.