light

点击查看代码
void SampleApp_Send_P2P_Message( void )
{
  char str[9]; 
  uint16 value;

  value = ReadLightData();
  /*osal_memset(str, 0, 9);
  sprintf(str, "BRI:%03d ", value);  //专业人员一般用这一条就搞定 下面的语句也一样哦*/
  osal_memcpy(str, "BRI:", 4);
  str[4] = value / 100 + '0';
  str[5] = value / 10%10 + '0';
  str[6] = value % 10 + '0';
  str[7] = ' ';  
 
  HalUARTWrite(0, (uint8 *)str, 8);         //串口显示
  HalLcdWriteString( str, HAL_LCD_LINE_3 ); //LCD显示 

  if ( AF_DataRequest( &SampleApp_P2P_DstAddr, &SampleApp_epDesc,
                       SAMPLEAPP_P2P_CLUSTERID,
                       8,
                       (uint8 *)str,
                       &SampleApp_TransID,
                       AF_DISCV_ROUTE,
                       AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
  {
  }
  else
  {
    // Error occurred in request to send.
  }
}

uint16 ReadLightData( void )
{
  uint16 reading = 0;
  
  P0DIR &= ~0x20;  // 设置P0.5为输入方式
  asm("NOP");asm("NOP");
  
  /* Clear ADC interrupt flag */
  ADCIF = 0;
  
  ADCCON3 = (0x80 | HAL_ADC_DEC_064 | HAL_ADC_CHANNEL_5);
  
  /* Wait for the conversion to finish */
  while ( !ADCIF );
  
  asm("NOP");asm("NOP");
  
  /* Read the result */
  reading = ADCL;
  reading |= (int16) (ADCH << 8);
  reading >>= 8;
  
  return reading;
}

/*********************************************************************
*********************************************************************/

posted @ 2022-09-30 17:59  hcnnnnnn  阅读(36)  评论(0)    收藏  举报