Camera读取ID方法总结1.首先明确I2c读写函数访问register的数据位宽,是8bit还是16bit. 
Camera读取ID方法总结2.其次明确power是高还是低有效。
Camera读取ID方法总结3.在open时如果读id失败就重新设置一下相关gpio。
Camera读取ID方法总结



/*************************************************************************
* FUNCTION
*     GT2005Close
*
* DESCRIPTION
*     This function is to turn off sensor module power.
*
* PARAMETERS
*     None
*
* RETURNS
*     None
*
* GLOBALS AFFECTED
*
*************************************************************************/
UINT32 GT2005GetSensorID(UINT32 *sensorID)
{
     volatile signed char i;
     kal_uint16 sensor_id=0;
     mt_set_gpio_out( GPIO_CAMERA_CMRST_PIN, 1 );
     mDELAY(10);
     mt_set_gpio_out( GPIO_CAMERA_CMRST_PIN, 0 );
     mDELAY(10);
     mt_set_gpio_out( GPIO_CAMERA_CMRST_PIN, 1 );
    
     mt_set_gpio_out( GPIO_CAMERA_CMPDN1_PIN, 1 );//sub low action
     mDELAY(10);
     mt_set_gpio_out( GPIO_CAMERA_CMPDN_PIN, 1 );//main
     mDELAY(10);
//    
//          mt_set_gpio_out( GPIO_CAMERA_CMPDN1_PIN, 1 );
//          mDELAY(10);
     SENSORDB("yuanwei GT2005GetSensorID ");
     SENSORDB("yuanwei in GPIO_CAMERA_CMPDN_PIN=%d,GPIO_CAMERA_CMPDN1_PIN=%d\n",mt_get_gpio_out(GPIO_CAMERA_CMPDN_PIN),mt_get_gpio_out(GPIO_CAMERA_CMPDN1_PIN));
     for(i=0;i<3;i++)
     {
          sensor_id = (GT2005_read_cmos_sensor(0x0000) << 8) | GT2005_read_cmos_sensor(0x0001);
          printk("%s sensor_id=%x\n", __func__, sensor_id);
          if(sensor_id != GT2005_SENSOR_ID)
          {
               return ERROR_SENSOR_CONNECT_FAIL;
          }
     }
    
     return ERROR_NONE;
}

相关文章:

  • 2022-12-23
  • 2021-11-17
  • 2021-08-16
  • 2021-07-02
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-10
  • 2022-12-23
  • 2021-11-23
  • 2022-01-23
  • 2022-12-23
  • 2021-11-15
  • 2022-12-23
相关资源
相似解决方案