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.

[参考译文] TMS320F28069:ADCINT1的开关中断功能

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1344313/tms320f28069-switching-interrupt-functions-for-adcint1

器件型号:TMS320F28069

您好、TI 团队、

我将使用两个中断函数(ISR 处理程序)function_afunction_b。 中断源是 ADC 输入1 。 最初、在我们的计划开始时、 ADC 输入1 运行。 function_a不过、在满足某些条件后、我们需要 ADC 输入1 执行function_b。 反之亦然。

您能建议一下实现该目标的正确方法吗?

谢谢。

尼蒂什·夏尔马

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

    您好!

    您能建议正确的方法来实现吗?

    要更改被调用的中断处理程序、您需要更改存储在中断矢量表中的地址。 Example_2806xAdcexample 显示了如何初始设置中断矢量表、我认为您可以按照相同的步骤来更改被调用的 ISR。 我建议在执行此操作之前禁用/清除中断、以确保在您更改调用的 ISR 函数时没有中断被处理。

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

    尊敬的 Amir:

    根据您的建议,我们在将 ISR 处理程序从转换function_a到时遇到了问题function_b。 您将在下面找到观察表:

    切换 ISR 处理程序 状态
    初始 function_a 工作
    function_afunction_b function_b 工作
    function_bfunction_a Function_a 不工作
    function_afunction_b function_b 工作
    function_b 至 function_a function_a 不工作
    function_a 至 function_b Function_b 工作

    在 ISR 处理程序之间切换之前、我们会针对不同的模式(GPIO、ADC 和 PWM)重新配置所有外设。

    谢谢

    尼蒂什·夏尔马

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

    您好!

    你需要 比"工作"和"不工作"更具体、这些状态不会让我知道你看到的行为。 近况如何? 您预计会发生什么情况?  您是否尝试过逐步执行相应的 ISR 以验证其是否正常运行? 是否存在两个 ISR 使用的任何全局变量?

    在 ISR 处理程序之间切换之前,我们针对不同的模式(GPIO、ADC 和 PWM)重新配置所有外设。

    请具体说明、您究竟在做什么更改? ISR 之间是否存在任何依赖关系?

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

    你好,Amir

    感谢您的支持、我发现了错误。 仅在 ADC 配置和 ISR 处理程序之前对 ADC 模块进行复位即可。

    感谢您的支持

    尼蒂什·夏尔马