打开stm32cubemx选择芯片
选择外部时钟源
选择debug方式
配置dcmi
打开dma
打开dcmi中断
选择合适的io
设置reset、pwdn、scl、sda引脚,注意scl和sda设置为开漏输出,之前参考别人的设置为推挽输出,导致一直没有成功,不知道什么原因
配置时钟
配置项目
最后生成代码
系统初始化完成后调用以下代码开启dma传输
__HAL_DCMI_ENABLE_IT(&hdcmi, DCMI_IT_FRAME);
HAL_DCMI_Start_DMA(&hdcmi,DCMI_MODE_CONTINUOUS,(uint32_t)jpeg_buf,jpeg_buf_size/4);
最后在dcmi中断中对采集到的数据进行处理文章来源:https://www.toymoban.com/news/detail-538015.html
void HAL_DCMI_FrameEventCallback(DCMI_HandleTypeDef *hdcmi)
{
jpeg_dcmi_frame_callback(hdcmi);
}
摄像头驱动和数据处理可以参考正点原子标准库代码文章来源地址https://www.toymoban.com/news/detail-538015.html
到了这里,关于通过stm32cubemx配置DCMI驱动ov5640摄像头的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!