RfTx.TXDATA.DataBuf[0] = 'O'; RfTx.TXDATA.DataBuf[1] = 'K';
RfHaveTxDara = 1; } }
else if((RfRx.RXDATA.HeadCom[1] == 'R') && (RfRx.RXDATA.HeadCom[2] == 'E'))//控制继电器 {
if(SensorNum == 6)//继电器板 {
if((RfRx.RXDATA.DataBuf[0] == 'K') && (RfRx.RXDATA.DataBuf[1] == '1'))
{
if(RfRx.RXDATA.DataBuf[2] == '1') { Relay1State = 1;
P1_4 = 1; }
else if (RfRx.RXDATA.DataBuf[2] == '0') {
Relay1State = 0; P1_4 = 0; } } else if((RfRx.RXDATA.DataBuf[0] == 'K') && (RfRx.RXDATA.DataBuf[1] == '2')) {
if(RfRx.RXDATA.DataBuf[2] == '1') { Relay2State = 1;
P1_5 = 1; }
else if (RfRx.RXDATA.DataBuf[2] == '0') {
Relay2State = 0; P1_5 = 0; } }
memcpy(RfTx.TxBuf, RfRx.RxBuf, 14);
RfTx.TXDATA.DataBuf[0] = 'O'; RfTx.TXDATA.DataBuf[1] = 'K'; RfHaveTxDara = 1;
}
}//end 控制继电器
else if((RfRx.RXDATA.HeadCom[1] == 'L') && (RfRx.RXDATA.HeadCom[2] == 'L'))//控制高亮LED {
if(SensorNum == 17)//高亮LED板 {
memcpy(RfTx.TxBuf, RfRx.RxBuf, 14);
ChangT3Cmp0Val(RfRx.RXDATA.DataBuf[0]);
RfTx.TXDATA.DataBuf[0] = 'O'; RfTx.TXDATA.DataBuf[1] = 'K';
RfHaveTxDara = 1; }
}//end 控制高亮LED break; }//end
if(RfHaveTxDara)//如果有数据要发送 {
RfTx.TXDATA.Head = '&'; RfTx.TXDATA.LastByte = '*';
SendData(0x0000, RfTx.TxBuf, 32);//发送数据 RfHaveTxDara = 0; } #endif }
4.实验总结
主要是通过组网来使协调器与终端器进行数据的交流与反馈,当LED灯显示时,LED显示屏也会显示相应状态,进行信息反馈。