GY30是模块名
BH1750—光照度采集芯片
芯片工作流程
{
uint8_t Mode;
//发送启动命令
Mode = BHPowOn;
HAL_I2C_Master_Transmit(&hi2c2,BHAddWrite,&Mode ,1,0xff);
Mode = BHReset;
HAL_I2C_Master_Transmit(&hi2c2,BHAddWrite,&Mode ,1,0xff);
// Mode = BHSigModeH;
// HAL_I2C_Master_Transmit(&hi2c2,BHAddWrite,&Mode ,1,0xff);
// HAL_Delay(180);
}
void Light_Value_Get(void)
{
//Mode=BHModeH1;
// Mode=BHPowOn;
// HAL_I2C_Master_Transmit(&hi2c2,BHAddWrite,&Mode,1,0xff);
Mode = BHSigModeH;
HAL_I2C_Master_Transmit(&hi2c2,BHAddWrite,&Mode ,1,0xff);
HAL_Delay(180);
HAL_I2C_Master_Receive(&hi2c2,BHAddRead,BUF,2,0xff);
dis_data=BUF[0];
dis_data=(dis_data<<8)+BUF[1];//合成数据,即光照数据
temp=(float)dis_data/1.2;
printf(“Light:%.1flx\r\n”,temp);
HAL_Delay(1000);
}