void BH1750_Init(void) { BH1750_WriteOneByte(Address1,0x01); //初始化BH1750 BH1750_WriteOneByte(Address1,0x07); //精度模式选择,其他模式参考用户手册 BH1750_WriteOneByte(Address1,0x00); BH1750_WriteOneByte(Address2,0x01); //初始化BH1750 BH1750_WriteOneByte(Address2,0x07); //精度模式选择,其他模式参考用户手册 BH1750_WriteOneByte(Address2,0x00); }
时间: 2024-04-25 19:26:45 浏览: 150
这是BH1750初始化函数。函数中首先向两个BH1750分别发送初始化命令(0x01),接着选择精度模式(0x07),最后发送停止命令(0x00)。
从代码中看,可能存在以下问题:
1. 初始化命令重复发送:在BH1750初始化时,只需要发送一次初始化命令即可。但从代码中看,初始化命令被重复发送了两次。请确认是否需要重复发送初始化命令,并根据实际情况进行修改。
2. 精度模式选择:BH1750有多种精度模式可供选择,但从代码中看,只选择了一种模式(0x07)。请确认所选的精度模式是否合适,并根据实际情况进行调整。
3. 命令发送顺序:在BH1750的操作中,命令的发送顺序需要按照BH1750的要求进行。但从代码中看,命令的发送顺序可能存在问题。请确认命令的发送顺序是否正确,并根据实际情况进行修改。
综上所述,可能需要修改初始化命令的发送次数,并确认精度模式选择和命令发送顺序是否正确。
阅读全文