用DSP2812写了个用EVA产生PWM的程序,怎么改能让其在某时刻停止产生PWM?

用DSP2812写了个用EVA产生PWM的程序,怎么改能让其在某时刻停止产生PWM?,第1张

1.将产生spwm的定时器停止

EvaRegs.T1CON.bit.TENABLE = 0

EvaRegs.T2CON.bit.TENABLE = 0

2.将spwm管脚置为高阻态

EvaRes.GPTCONA.all &= ~(0x0060) //第5、6位置0

3.一般外部驱动的IGBT都需要控制信号,这时为了保险起见。需要通过特悔铅定的IO口给出控制信

号,使IGBT输出全或段部都禁止。如我这里外部控制信号碧团好通过FPGA连在A口。需要下面指令:

GpioDataRegs.GPADAT.all |= 0x0007 //我这里有三路信号需要控制。

先给一个我自己的例游汪拆子( 死区时间为神枣1.78us)

设T1CLK=HSPCLK/(2)=22.5MHz/2=11.25MHz

//死区时间为1.78us

EvaRegs.DBTCONA.bit.DBT=10 //死区定时器周期,m=10

EvaRegs.DBTCONA.bit.EDBT1=1 //死区定时器1使能位

EvaRegs.DBTCONA.bit.DBTPS=1 //预定标因子为1 死区时间tbd=2*10/陵棚(11.25M)us=1.78us

//完

********* 建议将死区控制寄存器各位进行定义 ,这样便于计算死区时间*******

初始化配置:

设置时钟

pwm周期设置宽租

选用哪些pwm功能引脚

(渣液定时中断自行增减或按键进行可调)改变比较寄慎梁兆存器的值即改变占空比


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12472898.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存