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.

PWMGenConfigure设置问题



PWMGenConfigure(PWM_BASE, PWM_GEN_0, (PWM_GEN_MODE_UP_DOWN |
PWM_GEN_MODE_SYNC |
PWM_GEN_MODE_DBG_STOP));
PWMGenConfigure(PWM_BASE, PWM_GEN_1, (PWM_GEN_MODE_UP_DOWN |
PWM_GEN_MODE_SYNC |
PWM_GEN_MODE_DBG_STOP));
PWMGenConfigure(PWM_BASE, PWM_GEN_2, (PWM_GEN_MODE_UP_DOWN |
PWM_GEN_MODE_SYNC |
PWM_GEN_MODE_DBG_STOP));

以上是一个例程里对控制三相异步电机的PWM设置,我看tivaware的examples的设置都是

PWMGenConfigure(PWM0_BASE, PWM_GEN_0, PWM_GEN_MODE_UP_DOWN |
PWM_GEN_MODE_NO_SYNC);,什么情况才设置成PWMGenConfigure(PWM_BASE, PWM_GEN_0, (PWM_GEN_MODE_UP_DOWN |
PWM_GEN_MODE_SYNC |
PWM_GEN_MODE_DBG_STOP)); 呢?设置为这样还要进行哪些相关设置呢?它们之间有什么差别呢?

  • PWM0_BASE 和 PWM_BASE 

    PWM_BASE应该是不正确的,TM4C123G 有两个PWM 模块 PWM0 and PWM1

    PWMGenConfigure(PWM0_BASE, PWM_GEN_0, PWM_GEN_MODE_UP_DOWN |
    PWM_GEN_MODE_NO_SYNC); //这个配置信息 配置内容你可以查看PWM.h中详细说明

    #define PWM_GEN_MODE_DOWN 0x00000000 // Down count mode
    #define PWM_GEN_MODE_UP_DOWN 0x00000002 // Up/Down count mode
    #define PWM_GEN_MODE_SYNC 0x00000038 // Synchronous updates
    #define PWM_GEN_MODE_NO_SYNC 0x00000000 // Immediate updates
    #define PWM_GEN_MODE_DBG_RUN 0x00000004 // Continue running in debug mode
    #define PWM_GEN_MODE_DBG_STOP 0x00000000 // Stop running in debug mode

    LiangLiang wang1 说:

    PWMGenConfigure(PWM_BASE, PWM_GEN_0, (PWM_GEN_MODE_UP_DOWN |
    PWM_GEN_MODE_SYNC |
    PWM_GEN_MODE_DBG_STOP));
    PWMGenConfigure(PWM_BASE, PWM_GEN_1, (PWM_GEN_MODE_UP_DOWN |
    PWM_GEN_MODE_SYNC |
    PWM_GEN_MODE_DBG_STOP));
    PWMGenConfigure(PWM_BASE, PWM_GEN_2, (PWM_GEN_MODE_UP_DOWN |
    PWM_GEN_MODE_SYNC |
    PWM_GEN_MODE_DBG_STOP));

    以上是一个例程里对控制三相异步电机的PWM设置,我看tivaware的examples的设置都是

    PWMGenConfigure(PWM0_BASE, PWM_GEN_0, PWM_GEN_MODE_UP_DOWN |
    PWM_GEN_MODE_NO_SYNC);,什么情况才设置成PWMGenConfigure(PWM_BASE, PWM_GEN_0, (PWM_GEN_MODE_UP_DOWN |
    PWM_GEN_MODE_SYNC |
    PWM_GEN_MODE_DBG_STOP)); 呢?设置为这样还要进行哪些相关设置呢?它们之间有什么差别呢?

  • PWM_BASE,板子上应该没这个宏定义的,这样的程序如果可以通过编译的话,应该考虑你的程序中芯片的宏定义问题了。