工具与软件:
您好!
我们围绕 MSP430FR2433构建了一个传感器。 此例程包含以下步骤:1)系统在 GPIO 中断时唤醒;2)系统执行特定的测量相关操作、该过程大约需要几十到几百微秒;3)步骤2)完成后通过 UART 传输系统输出测量结果。
问题是第3)步的输出偶尔出现 gibberish/corrupted、在第2)步后添加100us 的任意延迟似乎能够在发生 gibberish 时降低频率、但在现场部署进行长期操作时不能完全消除 gibberish 输出。 或者、如果我们在步骤1)中通过 AT 命令通过 UART (而不是 GPIO 中断)唤醒系统、那么我们在多年的运行过程中从未观察到足够的输出。
从相关线程的讨论可以看出、这个问题似乎源自这样一个事实、即 SMCLK 作为 UART 的时钟源需要时间来稳定。 我希望我们可以使用 REFO/ACLK 作为时钟源来避免此类问题。 不幸的是、ACLK 不能用作 MSP430FR2433上的时钟源、这令我感到意外。
所以我的问题是、是否有可能以某种方式从第1步/GPIO ISR 中设置 UART 模块? 因此在执行第2)步后我们不必添加额外的延迟、否则这将开始降低电池寿命。
谢谢!
ZL