#define DS12C887_A XBYTE [0x3f0a]//寄存器A,A.7—只读判断忙闲
void clock_judge_busy(void)
{ while( DS12C887_A & 0x80 );//忙则循环等待
}
这个WHILE语句怎么理解啊,求各大牛指点!!
------解决方案--------------------
DS12C887_A被定义为外部RAM中地址为0x3f0a的字节,while( DS12C887_A & 0x80 );表示DS12C887_A与0x80做与运算,即如果DS12C887_A的最高位为1,就一直while循环,直到DS12C887_A的最高位为。
------解决方案--------------------
DS12C887_A宏定义为寄存器A的地址0x3f0a
读该地址,就是读寄存器A中的数据
while( DS12C887_A & 0x80 );//忙则循环等待
判断寄存器A中的最高位是否为1,为1则等待。
楼主可怜的结贴率:0.00%