我是 SPI 通信为加速计,当我调试程序它的校准,但当闪存程序和重置功率 SPI 没有初始化, 我通过 CAN 发送数据并使用 esp32 can 进行观察、加速计数据未进行校准、因此我的问题是、当我们调试程序 v 刷写程序时会发生什么情况、以及它如何影响 SPI 初始化。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我是 SPI 通信为加速计,当我调试程序它的校准,但当闪存程序和重置功率 SPI 没有初始化, 我通过 CAN 发送数据并使用 esp32 can 进行观察、加速计数据未进行校准、因此我的问题是、当我们调试程序 v 刷写程序时会发生什么情况、以及它如何影响 SPI 初始化。
Karthik、您好、
确保以下内容!
1. CAN 通信应正常工作、如有可能、请尝试使用 UART 端口代替 CAN 通信。
2.在读取数据时,确保轮询 RXINTFLG 标志
如果我们没有等到 RXINTFLG 读取数据、那么在调试中、由于断点、它可能会起作用、但当我们刷写时、它将不起作用。
如下面的函数中突出显示的那样
如果问题仍然存在、请分享您的屏幕以在结束时进行一次验证。
--
谢谢。此致、
Jagadish。
Karthik、您好、
我们发现当偏移和调试 SPI 工作但当我们进行电源休息时,加速器无法校准的问题。我们是否需要为 SPI 初始化提供一些全局延迟?
如果我理解正确、在您刷写代码或调试时、SPI 可以正常工作、但在我们进行电源复位后、SPI 无法正常工作。
如果是这种情况、那么在初始化之前延迟可能没有帮助、因为当我们第一次刷写或调试时、也会在对控制器进行编程之前重置器件。 在我看来、这可能是另外一些问题、例如我们可能无法与加速计正确通信。
--
谢谢。此致、
Jagadish。
您能解释一下当我们执行闪存和调试时所发生的情况与主板加电和断电不同吗?
我认为差异不大、因为在刷写或调试代码之后、控制器将重置并执行"_c_int00"中的代码。 当我们切断电源并在电路板上执行同样的操作时、也会发生这种情况。
我认为闪烁或调试以及断电和电路板上的行为不会发生变化。
--
Thansk &此致、
Jagadish。
Karthik、您好、
很抱歉无法共享我的代码。
在这种情况下、您可以做一件事吗、
如果您有逻辑分析仪、则尝试验证 CLK、MOSI、MISO 和 CS。
验证您在调试以及刷写和复位时是否看到这些波形有任何差异? 这样您就可以找出在通信中看到的差异。
--
谢谢。此致、
Jagadish。
Karthik、您好、
现在我正在使用逻辑分析仪观察 SPI 函数
尝试比较正常工作的波形和不正常工作的波形。
[报价 userid="558221" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1214388/rm44l920-spi-initialization-not-working-after-flashing/4597439 #4597439"]、并且我可以看到 Power REST 后加速计数据是常数值、当我刷写加速计数据时似乎在改变[/报价]我感到困惑、在开始线程时、您提到加速计在进行调试时工作、在刷写和复位后不工作。
现在您说的是、在执行闪存操作时、它正在工作、Power Rest not wokring?
--
谢谢。此致、
Jagadish。