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.

[参考译文] TMS570LC4357:使用中断创建 PWM

Guru**** 2455560 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1158791/tms570lc4357-creating-pwm-with-interrupt

器件型号:TMS570LC4357
主题中讨论的其他器件:HALCOGEN

我按照这些来源的指示创建一个周期为5毫秒的20%占空比高 PWM、并中断 CPU、但看不到正在调用 pwmNotification ()(在 hl_sys_main.c 或 hl_notification.c 中)。  我正在使用 HET2 PWM 0 (引脚8)。

https://www.youtube.com/watch?v=O1BlOvi8Sn0

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1100537/rm44l520-interrupt-from-output-n2het-signal/4106159?tisearch=e2e-sitesearch&keymatch=het%2520periodic%2520interrupt#4106159

我已将压缩的项目作为附件上传至 www.protomail.com ...

用户名:shareuser1000

密码:密码

消息主题:HET PWM 示例

非常感谢您的帮助。

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

    抱歉、拼写错误。  www.protonmail.com (不是 protomail.com)

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

    出于某些奇怪的原因、我 没有正确设置"PWM 中断"、尽管我确实设置了"PWM 中断"。  现已修复。

    另外,在浏览 hl_het.c 时,我看到了 pwmStart()函数,并在整个论坛中看到,似乎其他人已经使用了它。  现已成立。

    但仍然没有发生 pwmNotification()。

    感谢你的任何帮助。

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

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

    注意到 hetInit()有使用 hetRAM2的代码,因此将 arg 修改为 pwmStart。

    注意到 PINMUX 的焊球 V2与 N2HET2[08]相连、所以将其连接起来。

    仍然没有通知。

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

    添加了对 pwmEnableNotification()的调用。  仍然没有调用 pwmNotification()。

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

    在 VIM 中、启用了63 (HET2电平0)和73 (HET2电平1)。  仍然没有调用 pwmNotification()。

    不知道为什么 HET1具有低电平+高电平、而 HET2具有 LEVEL0+LEVEL1。  很好奇。

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

    因此、hetRAM2被定义为...

    include/hl_reg_het.h:184:#define hetRAM2 ((hetRAMBASE_t *) 0xFF440000U)

    在 Halcogen 中、MPU 寻址显示这在区域1中。  但是、所有子区域都被禁用。  这是问题吗?  或者、是否有任何类型或权限错误?

    谢谢。

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

    原因很简单。  来启用 IRQ/FIQ。  不知道为什么论坛中的示例程序不这样做(显然是有效的)。