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、
如何将 GO 变量绑定到切换按钮? 是否将其绑定到切换按钮小工具的已检查属性? GO 必须是目标程序中的全局变量。
如果您使用 CCS 开发代码、请尝试在 CCS 中运行程序、并在目标运行时更新 GO 变量。 在 GUI Composer 中使用目标程序之前、请确保执行此操作。
此致、
Patrick
尊敬的 Patrick:
感谢您的反馈、
我的"Go"变量已在切换按钮和软件变量之间很好地绑定;我可以进行检查,因为我同时激活了一个"GUI LED"。
这不是一个具有约束力的问题。
我的问题是由于无限循环(for (;;)与 PWM 输出的独立工作之间不兼容。
此致。
布鲁诺
您好、Bruno、
我知道、当按下切换开关一次时、将生成 PWM 信号、而当再次按下开关时、将停止信号。
我建议引入另一个变量、用于存储 PWM 的先前状态。 每次按下切换开关时、读取之前的状态、决定是需要启用 PWM 还是禁用 PWM 并更新状态。 这将确保 ENABLE PWM 仅在禁用前一状态时工作、反之亦然。
此外,每次需要生成 PWM 信号时都不需要初始化 PWM,因此初始化 PWM 部件可以保持在无限循环之外,除非您要重置 disablePWMClock()中的每个已初始化位。
我的结尾有一个问题:为什么需要编写 Start =*(&go)和*(&Start)而不是直接使用-> Start = Go?
谢谢、
Aditya
您好、Aditya、
非常感谢您的友好回复和建议。 很抱歉、我的反馈很晚(我忙于其他主题)。
我尝试了你所说的内容、实际上、这是一个在正确的时间要求正确的变量的问题。 现在它起作用了。
关于你的问题,没有任何理由,这只是许多其他尝试中的一种尝试。
再次感谢。
您好、Bruno、
很高兴这个问题得到解决。 感谢您的回复。
此致、
Aditya