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.

[参考译文] CC2642R:在任务中执行浮点操作时未触发 GPIO 中断 (ADS1298 DRDY)

Guru**** 2362840 points
Other Parts Discussed in Thread: ADS1298
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1532698/cc2642r-gpio-interrupt-not-triggered-when-performing-float-operations-in-task-ads1298-drdy

器件型号:CC2642R
Thread 中讨论的其他器件:ADS1298

工具/软件:

我正在使用处理一个项目 CC2642R1 微控制器与连接 ADS1298 来测量 ECG 前端。 。 DRDY(数据就绪) ADS1298 的引脚连接到 CC2642R1 上的 GPIO 引脚、配置为在上触发中断 发送到 DOUT 上

设置按预期运行:

-正确触发 GPIO 中断。

- ISR 设置一个标志。

-定期任务(1 毫秒间隔)从 ADS1298 读取原始数据并对其进行处理。

问题:

其中包括以下内容 浮点基线删除代码 在我的定期任务中 GPIO 中断停止触发 完全:
Baseline [i]= alpha * baseline [i]+(1.0f - alpha)* data[i];
数据[i]-=基线[i];

IF I 注释掉 在这些行中、一切都将再次正常工作、即 ISR 被触发并处理数据。
同时、探测 DRDY 引脚可确认其按预期切换、因此 ADS1298 正在工作并生成上升沿。

我使用的是 TI-RTOS、SDK 为 simplelink_cc13xx_cc26xx_sdk_6_40_00_13。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    有多种原因不会触发 ISR。 其中之一是您没有清除 ISR 中的中断、并且在基准或数据变量中读取/写入数据会清除中断。  您可以在 TI-RTOS 用户指南中找到有关在 TI-RTOS 中设置中断的更多信息

    CC2642R 技术参考手册的第 5 章还关乎中断。 这可帮助您调试和了解更多从哪里开始找到问题。

    此外、您正在使用的 SDK 版本已有几年历史、这个问题可能已经在最近的补丁中解决。 我建议您尝试升级 SDK 版本并查看问题是否仍然存在。

    此致、
    Maxence