uvision4中char型数据的左移右移操作是怎么回事儿?
for(BitCnt=0;BitCnt<8;BitCnt++)
{
_Nop();
SCL=0; /*置时钟线为低,准备接收数据位*/
_Nop();
_Nop(); /*时钟低电平周期大于4.7μs*/
_Nop();
_Nop();
_Nop();
SCL=1; /*置时钟线为高使数据线上数据有效*/
_Nop();
_Nop();
retc=retc<<1;
if(SDA==1)retc=retc+1; /*读数据位,接收的数据位放入retc中 */
_Nop();
_Nop();
}
这个时候是不是先把这个char型的数据转换成了16进制的0x0000.然后再移动的?
[解决办法]
直接左移的,不过不同的处理器之间应该有点细微的差异
直接左移是指向了他的下一个字符么?