IO bit出错
u8 jj;bit i;
jj=2;
P33=jj>>1;
或
jj=2;
i=jj>>1;
P33=i;
这两种运行都错误,第一好象是赋了8位的值到P3口上
第二个没置1
一般不这样写,若写P3 = jj >> 1; 是对的,因为是整个P3组对应一个16进制数,比如P3 = 0x01,这确定了p3这组I/O的每一个I/O口设定,而P3^3 是p3组内的一个,只能写=0; 或这等于1,不能写P3^3 = 0x01;同样的到了bit对应的是0或1,不能写bit i = 0x01;0x01和1十进制都是1,但二者是不同的。 huaruolong 发表于 2024-5-10 08:06
一般不这样写,若写P3 = jj >> 1; 是对的,因为是整个P3组对应一个16进制数,比如P3 = 0x01,这确定了p3这 ...
P3^3=X;这种写法是错误的
P3^3不可以放在等号的左边
不要误导新人
应改为
sbit P33 = P3^3;
P33 = X; Lkck8210 发表于 2024-5-10 11:19
P3^3=X;这种写法是错误的
P3^3不可以放在等号的左边
不要误导新人
我确实错了,必须先把sbit led = P3^3; 然后再 led = 0;不能写P3^3 = 0; 类型不对吧 u88位 bit1位 要不都为bit要不都为u8 建议不要缩写了 直接写unsignedchari 或 jj 或者char i或 jj
页:
[1]