小希希爱自己 发表于 2018-5-24 10:49:37

stm32f767使用i2c读取摄像头id有误!!

使用的stm32f767芯片HAL库,连接OV2640摄像头,通过硬件i2c来读写摄像头出现问题!!
i2c配置如下:
      I2C_Handle.Instance = I2C4;
      I2C_Handle.Init.Timing         = 0x60201E2B;//100KHz
      I2C_Handle.Init.OwnAddress1      =0;
      I2C_Handle.Init.AddressingMode   = I2C_ADDRESSINGMODE_7BIT;
      I2C_Handle.Init.DualAddressMode= I2C_DUALADDRESS_DISABLE;
      I2C_Handle.Init.OwnAddress2      = 0;
      I2C_Handle.Init.OwnAddress2Masks = I2C_OA2_NOMASK;
      I2C_Handle.Init.GeneralCallMode= I2C_GENERALCALL_DISABLE;
      I2C_Handle.Init.NoStretchMode    = I2C_NOSTRETCH_DISABLE;

写寄存器用的函数HAL_I2C_Mem_Write,读寄存器用的HAL_I2C_Mem_Read,
uint8_t OV2640_WriteReg(uint16_t Addr, uint8_t Data)
{
HAL_StatusTypeDef status = HAL_OK;
status = HAL_I2C_Mem_Write(&I2C_Handle, OV2640_DEVICE_ADDRESS, (uint16_t)Addr, I2C_MEMADD_SIZE_8BIT, (uint8_t*)&Data, 1, 1000);
if(status != HAL_OK)
{
    I2Cx_Error();
}
}
开始读取摄像头id,总卡在HAL_I2C_Mem_Write内的I2C_RequestMemoryWrite函数上,返回HAL_ERROR!!这是哪里出现了问题??请大神指教啊!!!


feixiang20 发表于 2018-5-24 23:10:02

参考了【i2c如何读取摄像头id】【STM32cubeMX之I2C学习】【stm32f3的i2c使用小结】【HAL库UART的几个常用函数讲解+中断处理过程讲解】看看return HAL_ERROR那段

小希希爱自己 发表于 2018-5-27 20:34:07

feixiang20 发表于 2018-5-24 23:10
参考了【i2c如何读取摄像头id】【STM32cubeMX之I2C学习】【stm32f3的i2c使用小结】【HAL库UART的几个常用函 ...

请问下,您上面说的那个参考文件在哪里啊??

xiajintaord 发表于 2018-5-28 17:26:37

feixiang20 发表于 2018-5-24 23:10
参考了【i2c如何读取摄像头id】【STM32cubeMX之I2C学习】【stm32f3的i2c使用小结】【HAL库UART的几个常用函 ...

大佬的风格就是只发文件名,不贴链接:'(
页: [1]
查看完整版本: stm32f767使用i2c读取摄像头id有误!!