bh1750.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #ifndef __BH1750_H
  2. #define __BH1750_H
  3. #include "stm32f10x.h"
  4. #include "delay.h"
  5. #define BH1750_SDA_GPIO_TYPE GPIOB
  6. #define BH1750_SDA_GPIO_PIN GPIO_Pin_14
  7. #define BH1750_SDA_RCC RCC_APB2Periph_GPIOB
  8. #define BH1750_SCL_GPIO_TYPE GPIOB
  9. #define BH1750_SCL_GPIO_PIN GPIO_Pin_15
  10. #define BH1750_SCL_RCC RCC_APB2Periph_GPIOB
  11. //BH1750端口定义
  12. #define SDA_IN() bh1750_sdain_mode();//上拉输入模式
  13. #define SDA_OUT() bh1750_sdaout_mode();//推挽输出模式
  14. #define SETSCL GPIO_SetBits(BH1750_SCL_GPIO_TYPE,BH1750_SCL_GPIO_PIN); //SCL Pin_6 输出高
  15. #define CLRSCL GPIO_ResetBits(BH1750_SCL_GPIO_TYPE,BH1750_SCL_GPIO_PIN);//SCL Pin_6 输出低
  16. #define SETSDA GPIO_SetBits(BH1750_SDA_GPIO_TYPE,BH1750_SDA_GPIO_PIN); //SDA Pin_7 输出高
  17. #define CLRSDA GPIO_ResetBits(BH1750_SDA_GPIO_TYPE,BH1750_SDA_GPIO_PIN);//SDA Pin_7 输出低
  18. //#define SETADDR GPIO_SetBits(GPIOB,GPIO_Pin_5); //ADDR Pin_5 输出高
  19. //#define CLRADDR GPIO_ResetBits(GPIOB,GPIO_Pin_5); //ADDR Pin_5 输出低
  20. #define READ_SDA GPIO_ReadInputDataBit(BH1750_SDA_GPIO_TYPE,BH1750_SDA_GPIO_PIN);//读SDA数据
  21. //IIC所有操作函数
  22. void BH1750IO_Init(void);
  23. void BH1750_Init(void);
  24. void conversion(unsigned int temp_data);
  25. void Single_Write_BH1750(unsigned char REG_Address); //单个写入数据
  26. unsigned char Single_Read_BH1750(unsigned char REG_Address); //单个读取内部寄存器数据
  27. void Multiple_Read_BH1750(void); //连续的读取内部寄存器数据
  28. //------------------------------------
  29. unsigned int Dispose(void);
  30. #endif