從機是怎么處理地阯位的?
TB8 = 1;
SBUF = 0xf3;
<---不等於從機地址
/*
此時,所有從機都將收到這個數據.
從機利用此數據判斷是否主機呼叫自己.
如是,復位SM2(SM2=0),否則,依舊保持SM2=1
*/
TB8 = 0;
SBUF = 0x55; <----從機依然接收數據0x55
/*
這個數據將隻被已經復位SM2的從機收到,其他的從機都不應當也不可能收到這個數據的.
*/
從機的數據處理如下:
...
unsinged char c;
if(RI)
{
RI=0;
c = SBUF;
if(SM2) // 收到的是地阯位
{
if(c = MYADDR) // 對地阯位判斷
SM2=0;
}
else
{
//接收到一些數據暸,對數據處理
}
}
发表时间:2006年1月20日16:03:19