IAR stm8 判断位的方法
if (a& 0x02) == 1)
{
}
else
{
}
a的第二位如果为1,则执行if中的程序,否则执行else中的程序
但编译完以后,事情的发展却残酷的背离了我的初衷。
结果改成以下语句后,事情才得到了平息。
if ((a>> 1& 0x01)== 1)
{
}
else
{
}
先把位移1位,然后在和“1与操作”,这个时候,就可以得到想要的结果了
原因可能是由于c语言的语法造成的,但具体的原因由于没有看书,也不知道,写这个的目的是给同样困惑的小盆友们一个提示,在遇到这样的情况,试试以下的方法。
评论