大山黑科技 发表于 2019-7-10 16:50

STM32硬件调试时IO读取到的数据和寄存器中数据不相符的问题?

项目背景:

本人发现此问题是在OV2640摄像头调试的过程中读取数据时发现的。本人根据摄像头相关时序用IO口进行模拟读取相关的数据(代码没有问题是经过验证的)。由于摄像头数据变化很快,本人采用在外部中断中读取数据。将数据读取到对应的数组里存储起来,也就是在这个位置发现的问题所在。

调试过程:

本人进行硬件仿真时,在外部中断中读取8位整组图像数据的位置进行加断点,此时以打开对应IO的寄存器进行显示。

遇到问题:

在快速执行到中断中的断点时,数组中读取到的数据和寄存器中显示的数据完全不相符。(由于没有出中断,断点的位置的数据也是一瞬间采集的)采集到的数据和寄存器中的数据完全不相符。这个事情十分不合理。但是没有理由讲通,也不知道是什么原因造成的。请大家指点一二,包括造成这个问题的方向也可以。{:smile:}

aozima 发表于 2019-7-10 17:48

外部变化太快,你读取太慢吧。
摄像头建议使用DCMI接口。

ayb_ice 发表于 2019-7-16 10:47

中断也有延迟,是不是最高级中断呢,何况还受其它程序关中断的影响,应该是读慢了引起的,或者信号并不稳定,

yunbujing 发表于 2019-11-28 16:03

学习一下
页: [1]
查看完整版本: STM32硬件调试时IO读取到的数据和寄存器中数据不相符的问题?