if(ADDR_DATA==0x01) // 温湿度
{
Rcv_Temp=(*(DestData+11)-'0')*10+(*(DestData+12)-'0');
Rcv_Hum=(*(DestData+20)-'0')*10+(*(DestData+21)-'0');
}
if(ADDR_DATA==0x02) // 光照度
{
if(*(DestData+6)==12)
Rcv_Light=(*(DestData+13)-'0')*10+(*(DestData+14)-'0');
else
Rcv_Light=(*(DestData+13)-'0')*100+(*(DestData+14)-'0')*10+(*(DestData+15)-'0');
}
if(Rcv_Hum>70||Rcv_Temp>25||Rcv_Light<200)
GpioWrite( &Relay, 1 );
else
GpioWrite( &Relay, 0);
uint8_t Rcv_Temp=0,Rcv_Hum=0;
uint16_t Rcv_Light=0;
if(*(uart3RxBuff+4)==0x01)
{
Rcv_Temp=(*(uart3RxBuff+11)-'0')*10+(*(uart3RxBuff+12)-'0');
Rcv_Hum=(*(uart3RxBuff+20)-'0')*10+(*(uart3RxBuff+21)-'0');
}
if(*(uart3RxBuff+4)==0x02)
{
if(*(uart3RxBuff+6)==0x0c)
Rcv_Light=(*(uart3RxBuff+13)-'0')*10+(*(uart3RxBuff+14)-'0');
else
Rcv_Light=(*(uart3RxBuff+13)-'0')*100+(*(uart3RxBuff+14)-'0')*10+(*(uart3RxBuff+15)-'0');
}
// 按照物联网网关485协议重新组帧
uint8_t Tx_Buff[32]={0};
if(*(uart3RxBuff+4)==0x01)
{
Tx_Buff[0]=0xDD; // 帧头
Tx_Buff[1]=0x01; // 地址低位
Tx_Buff[2]=0x02; // 地址高位
Tx_Buff[3]=0x02; // 485网络数据
Tx_Buff[4]=0x09; // 固定
Tx_Buff[5]=0x01; // 传感器类型
Tx_Buff[6]=Rcv_Temp;
Tx_Buff[7]=Rcv_Hum;
Tx_Buff[8]=CheckSum(Tx_Buff,8);
}
if(*(uart3RxBuff+4)==0x02)
{
Tx_Buff[0]=0xDD; // 帧头
Tx_Buff[1]=0x02; // 地址低位
Tx_Buff[2]=0x02; // 地址高位
Tx_Buff[3]=0x02; // 485网络数据
Tx_Buff[4]=0x09; // 固定
Tx_Buff[5]=0x06; // 传感器类型
Tx_Buff[6]=(uint8_t)(Rcv_Light/256);
Tx_Buff[7]=(uint8_t)(Rcv_Light%256);
Tx_Buff[8]=CheckSum(Tx_Buff,8);
}
USART2_SendStr((uint8_t*)Tx_Buff,9);
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答
本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。
因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。