单片机:为什么这样写就相当于是_crol_函数其中a,b,temp意思,count的类型都是unsignedchar,高手解释一下我刚学单片机这是个按键控制跑马灯的程序。... 单片机: 为什么这样写就相当于是 _crol_函数 其中a,b,temp意思,count的類型都是 unsigned char, 高手解释一下 我刚学单片机
这是个按键控制跑马灯的程序。
crol()是循环左移在汇编相当于多个 RL A,的组合。
比如0xc3,循环左右2位结果是0x0f;
現在你明白了吗?这相当于corl()函数的执行结果
你对这个回答的评价是?
_crol_()函数是keil C增加的C语言是没有的,所以才用两行语句实现循环移位嘚功能。而在keil C中有了_crol_()函数实现循环移位就方便了可以代替用两行语句实现的功能。这两种方法都是对的不过,在keil C中要用_crol_()函数要加头攵件:
c语言里面没有循环移位,就用这样的操作自己构造假如一个字节向左循环移动3位,a<<3就是他的高5位a>>5就是它的低3位了,然后作或运算拼接8位比特位
你对这个回答的评价是