Other Parts Discussed in Thread: TM4C123GH6PM, 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.
Other Parts Discussed in Thread: TM4C123GH6PM, TM4C1231H6PGE
您好!
在我的 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 的问题是、这种方法是否是一个好主意? 或者也许有更好/更简单的方法...