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.
/*全局(在其他文件中调用)*/ extern void int_rx_mnm1221_m (void);//在 INTRX 中断中使用*/ extern short ctrl_m1221_m (void);//在计时器中断中使用 nc */ __interrupt void x_isr (void){_mctrlecclr_m121_ect1.pecrc.eecrbt = void = v3ctrap.ecrc.eecrc.p3rc.pecrb.clrb.eecrb.ecr3;= void ECap3Regs.ECCLR.bit.CEVT4 = 1; ECap3Regs.ECCLR.bit.INT = 1; PHASE_MONITOR = CTRL_m1221_m (); //确认此中断以接收来自组3 的更多中断 PieCtrlRegs.PIEACk.all = PIEACK_group4; } SHORT MONITOR PHASE (void) { RETURE_MONITOR; } static void InitEPwm5 ( PRD){EALLOW;CIEACK_group4;}short MONITOR (void)= 0xTBRAP0000.TBR0/ TBR0.TBR0.Tbt = TBR0.Tb0.Tbt = TBR0.Tb0.TPCRd.Tbt = Tbt EPwm5Regs.AQCTLA.bit.PRD = AQ_TOGGLE; //打开 PRD // // TBCLK = SYSCLKOUT // EPwm5Regs.TBCTL.bit.HSPCLKDIV = 1; EPwm5Regs.TBCTL.bit.CLKDIV = 0; //EPwm5TimerDirection = ePWM_TIMER_UP; EALLAN.0=0 ;void SYECKCR0=0=0;EAPCLKCR0=0;ECC0=0=0;ECLKINT.TBIT.TCLKCR0=0=0=0 //禁用所有捕捉__interrupts ECap3Regs.ECCLR.ALL = 0xFFFF; //清除所有 CAP __interrupt 标志 ECap3Regs.ECCTL1.bit.CAPLDEN = 0; //禁用 CAP1-CAP4寄存器载入 ECap3Regs.ECCTL2.bit.TSCTRSTOP = 0; //确保计数器被停止 // 配置外设寄存器 // ECap3Regs.ECCTL2.bit.CONT_ONESHT = 1;//一次性 ECap3Regs.ECCTL2.bit.STOP_Wrap = 3; //在4个事件时停止 ECap3Regs.ECCTL1.bit.CAP1POL=1; //下降边沿 ECap3Regs.ECCTL1.bit.CAP2POL=0; //上升沿 ECP3Regs.ECCTL1.bit.CAP3POL=1; //下降边沿 ECap3Regs.ECCTL1.bit.CAP4POL=0; //上升沿 ECap3Regs.ECCTL1.bit.CTRST1 = 1; //差动操作 ECap3Regs.ECCTL1.bit.CTRST2 = 1; //差动操作 ECap3Regs.ECCTL1.bit.CTRST3 = 1; //差动操作 ECap3Regs.ECCTL1.bit.CTRST4 = 1; //差动操作 ECap3Regs.ECCTL2.bit.SYNCI_EN = 1; //在 ECap3Regs.ECCTL2.bit.SYNCO_SEL 中启用 SYNC = 0; //通过 ECap3Regs.ECCTL1.bit.CAPLDEN = 1; //启用捕捉单元 ECap3Regs.ECCTL2.bit.TSCTRSTOP = 1; //起始计数 器 ECap3Regs.ECCTL2.bit.rearm = 1; // arm 一次性 ECap3Regs.ECCTL1.bit.CAPLDEN = 1; //启用 CAP1-CAP4寄存器加载 ECap3Regs.ECEINT.BIT.CEVT4 = 1; //4个事件=__interrupt } //------------------- static void Ctrlinit (void) { EALLOW; GpioDataRegs.GPACLEAR.all= 0x3900ul; //GpioDataRegs.GPASET.BIO8= 1;GpioDataRegs.GPO8 = 1; GpioRegs.GPO16 = GPIPO1.G16 位 GPOreg.GPO1.GPO1.GPO1.G16 = GPPIO1.GPO1.GPO1.GPO1.G16位 GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1.GPO1. // ccs0 = GPIO32 GpioCtrlRegs.GPBPUD.bit.GPIO32 = 0; GpioCtrlRegs.GPUX1.bit.GPIO32 = 0; GpioDataRegs.GPBDAT.BIM32 = 1;GpioRegs.GPBMBOL.GPIO34 = GPIO3.Gpio34 = GPIO32.GPB34位 GPB34 = GPBDIO32.GPB34位 GPB34位 GPOL.GPIOL.GPIOL.GPIO32.GPB34 = GPB34位 GPB34位 GPOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIOL.GPIO // UUD = GPIO28 GpioCtrlRegs.GPAPUD.bit.GPIO28 = 0;GpioDataRegs.GPADD.bit.GPIO28 = 0;GpioCtrlRegs.GPAMUX2.bit.GPIO28 = 1;GpioCtrlRegs.GPDIR.bit.GPIO28 = 0;GPIO13 = 0 = 0 = 1;GPIO13 = 1;GPO13 = 0 = 1;GPO13 = 0 = 1;GPO13 = 1;GPIO13 = 0 = 1;GPO13 = 1 = 1;GPO13 = 1;GPO13 = 0 = 1;GPO13 = 1 = 1;GPO13 = 1 = 1 // GPIO13 = GPIO13 GpioCtrlRegs.GPADIR.bit.GPIO13 = 1;// GPIO13 =输出 //初始化 pwm和ecap InitEPwm5Gpio (); InitECap3Gpio (9); GPIO_SetupPinOptions (9、GPIO_INPUT、GPIO_ASYNC_Async); EALLOW;//这是写入 EALLOW 受保护寄存 器 PieVectTable.ECAP3_INT =&ecap3_ISR; EDIS;//这是禁用写入 EALLOW 受保护寄存器 InitEPwm5 (); InitECap3 (); //XINTRX = GPXINTRX = GPIO10_INTRI ;InetX10 = GPIO10_INTRI = GPIO10_INTRI;InetX10 INTRI = INT.InetX10;InetXINT.InT.InetXINT.InT.InetX10;输入 // XINT1连接到 GPIO10 XintRegs.XINT1CR.bit.polarity = 1; XintRegs.XINT1CR.bit.enable = 1; //将 GPIO48配置为 GPIO 输出引脚 EALLOW; GpioBdlRegs.GPBMUX2.bit.GPIO48 = 0; GpioR=1|GPIOR.GPIOR=1| GPIOR.GPIOR.GPIOR.GPIOR.GPIOR.GPIOR.GPIOR.GPIO48= 1 ; //PieCtrlRegs.PIEIER1.bit.INTx4 = 1; IER |= M_INT4; PieCtrlRegs.PIEIER4.bit.INTx3 = 1; EINT; ERTM; CreateSysTimerInterface()->Start (inport、2U); }
您好!
您是否已将 EPWM5A GPIO 引脚配置为 PWM 输出? 此外、还需要详细说明确切的问题。
如果我的回复回答了您的问题、请点击位于我帖子底部的"我的问题已解决"按钮。
此致
Himanshu
您好!
连接8个引脚和9个引脚。 作为 PWM 和 ECAP、仅调用这些函数。 您是否需要其他设置?
InitEPwm5Gpio();
InitECap3Gpio(9);
GPIO_SetupPinOptions (9、GPIO_INPUT、GPIO_异 步);
EALLOW;//这是写入 EALLOW 受保护寄存器所必需的
PieVectTable.ECAP3_INT =&ecap3_ISR;
EDIS;//这是禁止写入 EALLOW 受保护寄存器所必需的
您好!
是的、如果您可以提供示例的总体方框图或有关所需配置的更多详细信息、则进行调试会很有帮助。
如果我的回复回答了您的问题、请点击位于我帖子底部的"我的问题已解决"按钮。
此致
Himanshu