谁能帮忙解释一下这段程序了!做什么用的啊?
while (update ==1)
{
for(DutyFine =1; DutyFine <256 ;DutyFine ++)
{
// Example, write to the HRPWM extension of CMPA
PWM_setCmpAHr(myPwm1, DutyFine << 8);
PWM_setCmpAHr(myPwm2, DutyFine << 8);
// Example, 16-bit write to CMPAHR
PWM_setCmpAHr(myPwm3, DutyFine << 8);
PWM_setCmpAHr(myPwm4, DutyFine << 8);
for (i=0;i<10000;i++){ // Dummy delay between MEP changes
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
???
for(DutyFine =1; DutyFine <256 ;DutyFine ++)
{
// Example, write to the HRPWM extension of CMPA
EPwm1Regs.CMPA.half.CMPAHR = DutyFine << 8; // Left shift by 8 to write into MSB bits
EPwm2Regs.CMPA.half.CMPAHR = DutyFine << 8; // Left shift by 8 to write into MSB bits
// Example, 32-bit write to CMPA:CMPAHR
EPwm3Regs.CMPA.all = ((Uint32)EPwm3Regs.CMPA.half.CMPA << 16) + (DutyFine << 8);
EPwm4Regs.CMPA.all = ((Uint32)EPwm4Regs.CMPA.half.CMPA << 16) + (DutyFine << 8);
for (i=0;i<10000;i++){} // Dummy delay between MEP changes
}
但是不确定具体的作用,更新CMPAHR?,mep的值在哪里设置?还是系统时钟对应确定的mep,如60MHZ下180ps?
一周热门 更多>