有问题请教下:用F2812怎么产生0——50%占空比的PWM的,谢谢。有什么很好的方法吗。
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.
Dear sirs:
我看到貴司是使用 ePWM 方式做 PWM 控制, 但我是用 Event manager 方式做 PWM 控制,
1. 請問 兩者 有何優缺點呢?
2. 我目前碰到的問題是 初始值的 PWM 輸出是沒有問題, 但我在運行時想要修改其 PWM 的 duty cycle ( 如 10%-> 50% ) 或是 運行的頻率 ( 50KHz -> 65KHz )
確沒有修改成功, 下列是我的 sample code, 請問我需要在那邊做修改呢? 或是有 其他文件可以參考呢?
謝謝!!!
// EVA Configure T1PWM
// Initalize the timer
// Initalize EVA Timer1
EvaRegs.T1PR = 0x05DC; // Timer1 period for 50 kHz frequency
EvaRegs.T1CMPR = 0x0546; // Timer1 compare for 90% duty cycle
EvaRegs.T1CNT = 0x0000; // Timer1 counter
// TMODE = continuous up/down
// Timer enable
// Timer compare enable
EvaRegs.T1CON.all = 0x1042;
// Setup T1PWM
// Drive T1 PWM by compare logic
EvaRegs.GPTCONA.bit.TCMPOE = 1;
// Polarity of GP Timer 1 Compare = Active low
EvaRegs.GPTCONA.bit.T1PIN = 1;
// Enable compare for PWM1-PWM6
EvaRegs.CMPR1 = 0x546;
// Compare action control. Action that takes place
// on a cmpare event
// output pin 1 CMPR1 - active high
// output pin 2 CMPR1 - active low
// output pin 3 CMPR2 - active high
// output pin 4 CMPR2 - active low
// output pin 5 CMPR3 - active high
// output pin 6 CMPR3 - active low
EvaRegs.ACTRA.all = 0x0666;
EvaRegs.DBTCONA.all = 0x0000; // Disable deadband
EvaRegs.COMCONA.all = 0xA600;
Kuei-Hui
04/06