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.

[参考译文] F28M36P63C2:BIOS ePWM

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/621159/f28m36p63c2-bios-epwm

部件号:F28M36P63C2

我有一个双核项目,ePWM模块不工作,我处于亏损状态。

  1. 当我运行my_M3_RTOS和DEMO_C28_NON_RTOS时,ePWM模块工作正常。
  2. 当我运行my_M3_RTOS和my_C28_RTOS时,ePWM模块 不工作。
    1. 我已验证cmd文件中的部分映射是否正确。
    2. 计数器在该期间递增和重置。
    3. 我已将引脚作为GPIO进行了多路复用,然后它们会切换。
    4. 在DEMO_C28_NON_RTOS和my_C28_RTOS中,程序执行相同的代码,ePWM寄存器完全相同(可自由运行的计数器除外)。

是否有人对ePWM模块为何拒绝工作有任何建议?

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

    其他一切是否正常(例如,您运行到main(),任务正在启动,时钟计时器正在前进,等等)? 最简单的确认方法是在CCS->Tools->ROV->Task Detailed (任务详细)中查看(以查看正在运行的内容和堆栈未熔断),或者在ROV->Clock->Module中查看刻度是否在前进。 注意:ROV仅在您停止目标时起作用。

    您是否为ePWM手动设置中断? 如果是,您是如何做到的?

    另外,您使用的是什么版本的TI-RTOS (或SYS/BIOS)?

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

    Todd,

    我学到的一件事是,实际问题可以在一两天内解决。  如果需要三天时间,那就会令人尴尬。

    问题在于,在主任务通过其第一个循环并休眠后,负责闪烁的低优先级任务将运行状态LED,在其第一个循环中将初始化GPIO。  在我检查以确保每个寄存器设置正确时,我从未检查以确保其保持设置正确。  将PWM设置为在断点处停止,使此问题变得更加复杂。

    我已将GPIO初始化移至main,现在代码按预期工作。