void I2C_EE_Init(void) { #ifdef SPIMARM BSP_SPI_Init(); #else TWI_Initialize(); #endif }
/************************************************** * 函数:读器件ID号,测试用,uart6输出信息 * 输入:无 * 输出:无 * 返回:void ***************************************************/ void Ambi_Prox_ReadID(void) { uint8_t id = 0; TWI_Initialize(); ms_Delay(100); I2CRdStr(AMBI_PROX_ADDR, REGISTER_ID, &id, 1); ms_Delay(100); I2CRdStr(AMBI_PROX_ADDR, REGISTER_ID, &id, 1); if(id != 0x21) { //Serial_PutString((uint8_t*)"AMBI_PROX sensor error!"); while(1);//读取失败,死循环 } //Serial_PutString((uint8_t*)"AMBI_PROX sensor ID id 0x21!"); }
/**************************************************************************** * 函数:距离、光感应初始化 * 输入:无 * 输出:无 * 返回:0 -- 初始化失败 * 1 -- 初始化成功 ****************************************************************************/ uint8_t Ambi_Prox_Init(void) { uint8_t command = 0, current = 2; TWI_Initialize(); Set_Current(current); Read_Current(&command); if(command != current) { //Serial_PutString((uint8_t*)"Prox current set error!"); return 0; //fail //while(1); } Set_CommandRegister(COMMAND_ALL_DISABLE); //设置前失能 Set_ProximityRate(PROX_MEASUREMENT_RATE_2); //距离感应测量速率设置 Set_CommandRegister(COMMAND_PROX_ENABLE | //距离感应功能打开 COMMAND_AMBI_ENABLE | //光感应功能打开 COMMAND_SELFTIMED_MODE_ENABLE); Set_AmbiConfiguration(AMBI_PARA_AVERAGE_32 | AMBI_PARA_AUTO_OFFSET_ENABLE | AMBI_PARA_MEAS_RATE_2); return 1; //done }