首页 > 编程知识 正文

tm1637驱动数码管程序,stm32单片机

时间:2023-05-04 05:58:16 阅读:112427 作者:3351

以下内容基于STM32F103C8T6 Blue Pill板OV7670摄像头(带AL422B FIFO模块)。

【其实移动摄像头并不复杂,但是融合GPIO、中断、串行端口、I2C等内容,是学习STM32基础开发的好方法。 另外,在网上能找到的开发笔记也不完整,或者经常对纯淘宝的源代码没有评论,初学者可能很难理解。 因此,希望能记录整个开发过程和工具,对有需要的朋友有帮助】

首先是硬件的选择。 受成本限制。 我没有选择各种STM32开发板,直接使用了最便宜的STM 32 f 103 c8 t 6蓝色pill。 所有电缆都是用杜邦电缆连接的。 在这里说明。 以前有一些资料记载,使用杜邦线可能会导致图像渗出或偏移。但我在实际开发中,使用的长度约 15cm 的杜邦线,也没有将 D0~D7 数据线单独分组,图像传输还是稳定的因此,使用邦线的朋友可以参考。 出现花屏很可能还是和程序本身有关。 当然,条件是用PCB代替焊线划线最好,但焊线也有可能接触不良。

相机侧在选择的OV7670相机上带有AL422B FIFO。 关于为什么选择带FIFO的产品,网上有详细说明,也有说法认为是因为STM32F103系列的产品只有20KB SRAM。 其实不需要保存图像,如果只是显示的话,20KB SRAM并不是限制。最大的限制是在于 STM32F103 的 GPIO 翻转速率参考此博客的STM32 IO口反转速度测试报告的测试记录,GPIO的最大反转速度为12MHz,但OV7670的时钟速度已经为24MHz,因此STM32F103的iio口反转速度这才是使用FIFO的根本原因。

当然,我们看到一些互联网可以通过STM32附带的DCMI外围设备实现,无需FIFO即可驱动摄像头,但STM32F103系列没有此外围设备。 因此,我还是选择了带FIFO的照相机。

硬件的选择就是这样。 在开发环境中,我们决定用上位机显示图像。 本来打算使用128160的液晶屏,但连接摄像头后,发现可用的IO端口资源变少了。 另外,调试也不方便,所以还是上位机了。 建议初学者使用高级功能更好地移动照相机。 说到上位机,网上下载的上位机大多可能不支持RGB565的传输格式。 因为大多是YUV的东西,所以使用的时候必须注意区分。 否则,就看不到正确的图像。 另外,上位机使用时通常有图像传输开始和中止的标志位。 上位机因家而异,请注意。 否则,你也看不到图像。

上位机使用的是山外调试助手(V1.1.9)。 这个只要直接用bing搜索就应该可以下载。 还是附上我下载的连接吧。 山外调试助手下载。 支持RGB565格式的数据。

现在介绍了所有的硬件和开发环境。 以下部分介绍驱动程序代码。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。