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.

[参考译文] RTOS:CC2640在 ISR 中触发 ADC 转换

Guru**** 2604225 points
Other Parts Discussed in Thread: CC2640R2F

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/745391/rtos-cc2640-trigger-adc-conversion-in-isr

主题中讨论的其他器件:CC2640R2F

工具/软件:TI-RTOS

您好!

我正在使用 CC2640R2F 并使用 TIRTOS 2.20版和 TI 外设驱动程序来开发定制 PCB。 我需要在中断时触发 ADC 转换、但在 ADC 或 ADCBuf 驱动程序中找不到合适的接口。  

我第一次尝试使用 ADC 驱动程序,但 ADC_convert()调用被阻止,因此无法正常工作。

我还尝试使用 ADCBuf 驱动程序、我将其设置为在回调模式下收集单个样本。 当我在 ISR 中调用 ADCBuf_convert ()时,我会执行指定的回调函数(这只是一个返回语句),但在它离开 ISR 后,程序会被卡住。 如果没有 ADCBuf_convert(),则调用程序按预期运行。  

我考虑过将 ADC 置于一个单独的任务中、等待我可以在 ISR 中发布的信标、但我希望避免这种情况、因为 RAM 的使用和上下文切换开销。 是否有方法从 ISR 触发 ADC 转换?

此致、

Lukas

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

    我们在这里讨论什么类型的 ISR、驱动程序回调或您自己设置的内容?
    如果 ADCBuf 驱动程序配置为回调模式、则在回调/ISR 内部调用此驱动程序时不会出现任何问题、前提是此 ISR 位于 RTOS 上下文中。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、M-W、

    你是对的、这是我错了 ADCBuf 的设置。 感谢你的帮助。

    此致、

    Lukas