在pic上3位端口的安定测试不起作用

时间:2015-03-13 12:03:02

标签: port bit logical-operators

我正在闪烁一个led,但如果我检测到3个端口引脚都有0,那么结果全部归零,我希望led停止闪烁。但为什么这不起作用?

    if (RB3 && RB4 && RB5 == 0){
    RB6  = RB6;
    }
    else
    RB6  = !RB6;

2 个答案:

答案 0 :(得分:0)

if (RB3 && RB4 && RB5 == 0)

虽然这看起来像你想要的那样,但并不意味着你所期望的。

你想要什么:

if ((RB3 == 0) && (RB4 == 0) && (RB5 == 0))

答案 1 :(得分:-1)

你正在使用哪个编译器?

你确定RB3,RB4,RB5和RB6正是你的意思吗?

使用CSS编译器,您必须使用以下语法:

int b6;
...
if ( (input(PIN_B3) && input(PIN_B4) && input(PIN_B5)) != 0) { b6 = !b6; }
output_bit(PIN_B6, b6);