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.
您好!
我已经在 CCS 中对2个 PWM 信号进行了编程、所有信号都在独立模式下运行良好、
请参阅下面的主程序摘录
void main (void)
{
initSystem();
CLK_enablePwmClock (myClk、PWM_NUMBER_1);//启用 LA 时钟 du PWM1
CLK_enablePwmClock (myClk、PWM_NUMBER_2);//启用 LA 时钟 du PWM2
initEPWM (myPWM1);
initEPWM (myPWM2);
}// main 结束
现在、我想通过 IHM =>构建 GUI Composer 界面中的切换按钮来控制 PWM 信号的开始和停止、使用变量"GO"来绑定切换按钮和程序。
Herafter 是我的主要程序的一个摘录、用于执行该操作、但它不起作用。
for (;;)
{
start=*(GO);
如果(*(&Start)!=0)
{
VISU_GO=1;
CLK_enablePwmClock (myClk、PWM_NUMBER_1);
CLK_enablePwmClock (myClk、PWM_NUMBER_2);
initEPWM (myPWM1);
initEPWM (myPWM2);
}
其他
{
VISU_GO=0;
clk_disablePwmClock (myClk、PWM_NUMBER_1);
clk_disablePwmClock (myClk、PWM_NUMBER_2);
}
}
有没有人有这种基本应用的示例?
非常感谢您的支持。
您好、Bruno、
我知道、当按下切换开关一次时、将生成 PWM 信号、而当再次按下开关时、将停止信号。
我建议引入另一个变量、用于存储 PWM 的先前状态。 每次按下切换开关时、读取之前的状态、决定是需要启用 PWM 还是禁用 PWM 并更新状态。 这将确保 ENABLE PWM 仅在禁用前一状态时工作、反之亦然。
此外,每次需要生成 PWM 信号时都不需要初始化 PWM,因此初始化 PWM 部件可以保持在无限循环之外,除非您要重置 disablePWMClock()中的每个已初始化位。
我的结尾有一个问题:为什么需要编写 Start =*(&go)和*(&Start)而不是直接使用-> Start = Go?
谢谢、
Aditya
您好、Bruno、
很高兴这个问题得到解决。 感谢您的回复。
此致、
Aditya