STM32硬件调试时IO读取到的数据和寄存器中数据不相符的问题?
项目背景:本人发现此问题是在OV2640摄像头调试的过程中读取数据时发现的。本人根据摄像头相关时序用IO口进行模拟读取相关的数据(代码没有问题是经过验证的)。由于摄像头数据变化很快,本人采用在外部中断中读取数据。将数据读取到对应的数组里存储起来,也就是在这个位置发现的问题所在。
调试过程:
本人进行硬件仿真时,在外部中断中读取8位整组图像数据的位置进行加断点,此时以打开对应IO的寄存器进行显示。
遇到问题:
在快速执行到中断中的断点时,数组中读取到的数据和寄存器中显示的数据完全不相符。(由于没有出中断,断点的位置的数据也是一瞬间采集的)采集到的数据和寄存器中的数据完全不相符。这个事情十分不合理。但是没有理由讲通,也不知道是什么原因造成的。请大家指点一二,包括造成这个问题的方向也可以。{:smile:} 外部变化太快,你读取太慢吧。
摄像头建议使用DCMI接口。 中断也有延迟,是不是最高级中断呢,何况还受其它程序关中断的影响,应该是读慢了引起的,或者信号并不稳定, 学习一下
页:
[1]