温湿度和心率传感器-PulseSensor关键代码
cc2530吧
全部回复
仅看楼主
吧务
level 13
gfy521666 楼主
/*********************************************************************
* @FN SampleApp_Send_P2P_Message
*
* @Brief point to point.
*
* @param none
*
* @Return none
*/
#ifndef ZDO_COORDINATOR
uint8 checkCount=0;
void SampleApp_Send_P2P_Message( void )
{
uint8 heartRate=0;
uint8 buff[30]={0};
float temp=0;
uint8 len=0;
uint8 temp_zsh,temp_xsh;//温度整数和小数
uint8 i=0;
//读心率
heartRate=GetCurrentHeartRate();
if(heartRate==0)
{
checkCount++;
if(checkCount<20)
{
return;
}
}
checkCount=0;
/*读温度*/
temp = GetCurrent18B20(); //读取温度数据
temp_zsh=(uint8)temp;
//取出小数部分
sprintf((char *)buff, "%.1f", temp);
len=osal_strlen((char *)buff);
for(i=0; i<len; i++)
{
if(buff[i]=='.')
{
temp_xsh=buff[i+1]-0x30;
break;
}
}
//LCD显示和串口显示
sprintf((char *)buff, "心率:%02d ", heartRate);
HalLcdWriteString( buff, HAL_LCD_LINE_3 );
HalUARTWrite(0, buff,osal_strlen(buff));
HalUARTWrite(0, "\n",1);
sprintf((char *)buff, "温度:%.1f", temp);
HalLcdWriteString( buff, HAL_LCD_LINE_4 );
HalUARTWrite(0, buff,osal_strlen(buff));
HalUARTWrite(0, "\n",1);
buff[0]=heartRate;
buff[1]=temp_zsh;
buff[2]=temp_xsh;
if ( AF_DataRequest( &SampleApp_P2P_DstAddr, &SampleApp_epDesc,
SAMPLEAPP_P2P_CLUSTERID,
3,
buff,
&SampleApp_TransID,
AF_DISCV_ROUTE,
AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
{
}
else
{
// Error occurred in request to send.
}
}
#endif
/*********************************************************************
*********************************************************************/
2022年11月23日 01点11分 1
1