該函數聲明於intrins.h
P1=_cror_(P1,a);//循環右移a位
P1=_crol_(P1,1);//循環左移a位
實在不行,可以試試以下方法,僅提供思路
1.計算法
類似P1=1(初值),P1=P1*2(循環),當P1=128時延時壹會P1復位為1。
2.移位法
使用移位符號>>或<<。如P1=0x01(初值),P1=P1<<1(左移1位,循環),當P1=0x80,延時壹會P1復位。
3.查表法。把P1各狀態寫在數組裏,通過查表輸出。如
unsigned char P1_Table[]={0x01,0x02,.....};
P1=P1_Tab[i];(循環)
4.直接賦值
這是最簡單但最笨的辦法,相當於查表法的具體實現