请问一下“单片机的循环移位”是怎么回事!!!

来源:百度知道 编辑:UC知道 时间:2024/06/05 13:22:28
a=0xfe;
P0=_crol_(a,1);
为什么P0是值始终是FE,a的值还是FE,不是移位了啊???
为什么不能直接使用
P0=_crol_(P0,1);1101,1001???
但可以使用
a=_crol_(a,1);
用的是KEIL的编译器

建议这样写程序:
a=0xfe;
a=_crol_(a,1);
P0=a;
编译器认为P0是个地址,不能对P0移位,可以对变量移位。

P0=_crol_(a,1);
这一局过后,a还是FE,但是P0已经不是了,是循环左移了一位,应该为FD。

_crol_是一个函数,参数有两个,一个是想移位的数,一个是移几位,所以你给了那个当然不行了。

变量定义有问题,还有下划线开头的变量?
_crol_(a,1);
这都能编译通过,这个编译器很强大!