点击查看代码
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;
}
/*********************************************************************
*********************************************************************/