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.

用F2812怎么产生0—50%占空比的PWM



有问题请教下:用F2812怎么产生0——50%占空比的PWM的,谢谢。有什么很好的方法吗。

  • 这个问题我不知道该怎么回答,用户手册上有详细的说明需要如何配置。

    如果你要更好的方法,请将现有的方法说明并列出其问题在哪。

  • Hi, sirs:

    請問可以告知是那一份"用户手册"嗎? 謝謝!!!
  • 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