#ifndef __BH1750_H__

#define __BH1750_H__

#include <ioCC2530.h>


#define BH1750_SDA_PIN       P1_4 //��������
#define BH1750_SDA_PORT      P1DIR
#define BH1750_SDA_NUM       GPIO_4
//�������������
#define BH1750_SDA_PIN_OUT() { BH1750_SDA_PORT |= BH1750_SDA_NUM; asm("NOP"); } 
//��������Ϊ���룻
#define BH1750_SDA_PIN_IN()  { BH1750_SDA_PORT &= ~BH1750_SDA_NUM; asm("NOP"); }

#define BH1750_SCL_PIN       P1_3 //��������
#define BH1750_SCL_PORT      P1DIR
#define BH1750_SCL_NUM       GPIO_3

//P1_3����Ϊ����ģʽ��
//�������������
#define BH1750_SCL_PIN_OUT() { BH1750_SCL_PORT |= BH1750_SCL_NUM; asm("NOP"); } 

#define SETSCL  { BH1750_SCL_PIN = 1; asm("NOP"); }
#define CLRSCL  { BH1750_SCL_PIN = 0; asm("NOP"); }

#define SETSDA  { BH1750_SDA_PIN = 1; asm("NOP"); }
#define CLRSDA  { BH1750_SDA_PIN = 0; asm("NOP"); }

#define READ_SDA  BH1750_SDA_PIN

void BH1750IO_Init(void);
void BH1750_Init(void);
void conversion(unsigned int temp_data);
void  Single_Write_BH1750(unsigned char REG_Address);      
unsigned char Single_Read_BH1750(unsigned char REG_Address);             
void  Multiple_Read_BH1750(void);                  
//------------------------------------

unsigned char BH1750_RecvByte(void);
unsigned int get_bh1750_value(void);
void BH1750_Start(void);
void BH1750_Stop(void);
void BH1750_SendACK(unsigned char ack);

unsigned char BH1750_RecvACK(void);
void BH1750_SendByte(unsigned char dat);

unsigned char BH1750_RecvByte(void);









#endif