if
( events & SERIALAPP_SAMPLE_EVT )
{
uint8 *sendBuf=
"SERIALAPP_SAMPLE_EVT\n"
;
HalUARTWrite(SERIAL_APP_PORT,sendBuf,osal_strlen(sendBuf));
osal_memset(SerialApp_TxBuf, 0, SERIAL_APP_TX_MAX);
//adc = GetAdc(); //设备自身湿度,可以不用
uint8 W[3]={0};
//温度
uint8 S[3]={0};
//湿度
DHT11_TEST();
//获取温湿度
W[0]=wendu_shi+48;
//转为字符
W[1]=wendu_ge+48;
//转为字符
S[0]=shidu_shi+48;
//转为字符
S[1]=shidu_ge+48;
//转为字符
if
(S[0]==
'0'
&& S[1]==
'0'
)
{
//如果获取不到则不处理
}
else
{
//将获取到的温湿度传到网关
uint8 SerialApp_Tx[SERIAL_APP_TX_MAX+1]={0};
//声明发送字符串
sprintf
(SerialApp_Tx,
"{ck001002%s.%s}"
, S, W);
//温湿度写入字符串 //%4.3fV DEVID, adc //%2d.%2d
HalUARTWrite(SERIAL_APP_PORT,SerialApp_Tx,osal_strlen(SerialApp_Tx));
//在串口打印,方便我们自己调式
//使用无线发送到网关
SerialApp_TxAddr.addrMode =(afAddrMode_t) Addr16Bit;
SerialApp_TxAddr.addr.shortAddr = 0xFFFF;
//0x0000
SerialApp_TxAddr.endPoint = SERIALAPP_ENDPOINT;
AF_DataRequest(&SerialApp_TxAddr, (endPointDesc_t *)&SerialApp_epDesc,
SERIALAPP_CLUSTERID1, osal_strlen(SerialApp_Tx), SerialApp_Tx, &SerialApp_MsgID, 0, AF_DEFAULT_RADIUS);
//发送完毕
}
HAL_TOGGLE_LED1();
//点亮或关闭LED1 P1.0针脚
osal_start_timerEx( SerialApp_TaskID, SERIALAPP_SAMPLE_EVT, INTERVAL);
//等待间隔时间后,再使用定时器运行SERIALAPP_SAMPLE_EVT事件!
return
( events ^ SERIALAPP_SAMPLE_EVT );
}