bh1750.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #ifndef __BH1750_H__
  2. #define __BH1750_H__
  3. #include <ioCC2530.h>
  4. #define BH1750_SDA_PIN P1_4 //数据引脚
  5. #define BH1750_SDA_PORT P1DIR
  6. #define BH1750_SDA_NUM GPIO_4
  7. //引脚配置为输出;
  8. #define BH1750_SDA_PIN_OUT() { BH1750_SDA_PORT |= BH1750_SDA_NUM; asm("NOP"); }
  9. //引脚配置为输入;
  10. #define BH1750_SDA_PIN_IN() { BH1750_SDA_PORT &= ~BH1750_SDA_NUM; asm("NOP"); }
  11. #define BH1750_SCL_PIN P1_3 //数据引脚
  12. #define BH1750_SCL_PORT P1DIR
  13. #define BH1750_SCL_NUM GPIO_3
  14. //P1_3设置为输入模式;
  15. //引脚配置为输出;
  16. #define BH1750_SCL_PIN_OUT() { BH1750_SCL_PORT |= BH1750_SCL_NUM; asm("NOP"); }
  17. #define SETSCL { BH1750_SCL_PIN = 1; asm("NOP"); }
  18. #define CLRSCL { BH1750_SCL_PIN = 0; asm("NOP"); }
  19. #define SETSDA { BH1750_SDA_PIN = 1; asm("NOP"); }
  20. #define CLRSDA { BH1750_SDA_PIN = 0; asm("NOP"); }
  21. #define READ_SDA BH1750_SDA_PIN
  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 char BH1750_RecvByte(void);
  30. unsigned int get_bh1750_value(void);
  31. void BH1750_Start(void);
  32. void BH1750_Stop(void);
  33. void BH1750_SendACK(unsigned char ack);
  34. unsigned char BH1750_RecvACK(void);
  35. void BH1750_SendByte(unsigned char dat);
  36. unsigned char BH1750_RecvByte(void);
  37. #endif