湿湿度+气体+光照
zigbee吧
全部回复
仅看楼主
吧务
level 13
gfy521666 楼主
void SampleApp_Send_P2P_Message( void )
{
char temp[3], humidity[3], GasData[4], strTemp[20];
uint16 nGasData=0;
char state;
DHT11(); //获取温湿度
//将温湿度的转换成字符串,供LCD显示
temp[0] = wendu_shi+0x30;
temp[1] = wendu_ge+0x30;
temp[2] = '\0';
humidity[0] = shidu_shi+0x30;
humidity[1] = shidu_ge+0x30;
humidity[2] = '\0';
if(DATA_PIN05 == 1)
state = 0x30; //当光敏电阻处于黑暗中时P0.5高电平
else
state = 0x31;
nGasData = ReadGasData();
GasData[0] = nGasData / 100 + '0';
GasData[1] = nGasData / 10%10 + '0';
GasData[2] = nGasData % 10 + '0';
GasData[3] = '\0';
//将数据整合后方便发给协调器显示
osal_memcpy(strTemp, temp, 2);
osal_memcpy(&strTemp[2], " ", 2);
osal_memcpy(&strTemp[4], humidity, 2);
osal_memcpy(&strTemp[6], " ", 2);
osal_memcpy(&strTemp[8], GasData, 3);
osal_memcpy(&strTemp[11], " ", 2);
strTemp[13] = state;
//获得的温湿度通过串口输出到电脑显示
HalUARTWrite(0, "T&H&G&L:", 8);
HalUARTWrite(0, (uint8 *)strTemp, 14);
HalUARTWrite(0, "\n",1);
//输出到LCD显示
Color = BLACK;
Color_BK = WHITE; //背景色
LCD_write_CN_string(7, 80, "温度:");
LCD_write_CN_string(7, 95, "湿度:");
Color = RED;
HalLcdWriteEnString( 49, 80, temp );
HalLcdWriteEnString( 49, 95, humidity );
Color = BLACK;
LCD_write_CN_string(63, 80, "℃");
LCD_write_CN_string(63, 95, "%");
if ( AF_DataRequest( &SampleApp_P2P_DstAddr, &SampleApp_epDesc,
SAMPLEAPP_P2P_CLUSTERID,
14,
(uint8 *)strTemp,
&SampleApp_TransID,
AF_DISCV_ROUTE,
AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
{
}
else
{
// Error occurred in request to send.
}
}
2022年06月29日 10点06分 1
1