请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TM4C1231H6PGE 主题中讨论的其他器件:TM4C123GH6PM、
您好!
在我的 Launchpad 代码中、我使用其中一个 PWM 外设来控制伺服电机。
PWM 频率为400Hz。
是否可以使 PWM 外设产生与 PWM 频率同步的中断?
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.
您好!
在我的 Launchpad 代码中、我使用其中一个 PWM 外设来控制伺服电机。
PWM 频率为400Hz。
是否可以使 PWM 外设产生与 PWM 频率同步的中断?
抱歉、
我是说 TM4C123GH6PM 不是 TM4C1231H6PGE。
这是我用于生成 PWM 的代码。
int main (void) { //将时钟配置为80MHz SysCtlClockSet (SYSCTL_SYSDIV_2_5|SYSCTL_USE_PLL|SYSCTL_16MHz|SYSCTL_OSC_MAIN); // PWM 初始化 SysCtlPWMClockSet (SYSCTL_PWMDIV_64);SYSCTL_PWM1PEL ( GPIP_PWM1PM_PHIN);SYSCPM1) volatile uint32_t ui32PWMClock = SysCtlClockGet ()/ 64; volatile uint32_t ui32Load =( ui32PWMClock / PWM_FREQUENCY )- 1; PWMGenConfigure ( PWM1_base、PWM_GEN_0、PWM_GEN_MODE_DOWN ); PWMGenPeriodSet ( PWM1_Some、PWM1_BASE ) 、PWM1_PWM1_SECURIT_PWM1_OUT、PWM1_OUT、PWM1_SECURIT_NOT_PWM1_OUT、PWM1_OUT PWMOutputState (PWM1_base、PWM_OUT_1_BIT、TRUE); PWMGenEnable (PWM1_base、PWM_GEN_0); while (1) { PWMPulseWidthSet (PWM1_base、PWM_OUT_1、SHOT_OTHER 值); }
您能否发布一个如何使这个外设产生一个中断的示例?
我不明白您的问题...
我要做的就是:
速度控制器预计在400Hz 时获得 PWM 命令。
那么、这是我希望 Tiva 模块生成的 PWM 频率-我希望所有软件进程都与它计时。 I.E:读取 I2C 角度信息、一些次要滤波和计算所需的输出。
为了实现这一点-我的想法是从 PWM 模块生成一个400Hz 中断、并在这个中断的 ISR 下执行标为红色的所有过程。
我还没有这样做...所以我对 Bob 的问题是、这种方法是否是一个好主意? 或者也许有更好/更简单的方法...