新澳门吉利彩票网址: [技术问答] 关于AC7811例程中PWM

永利游戏开户直营
283|6
楼主
本帖最后由 绝对润 于 2019-8-7 10:21 编辑

AC7811例程中,有PWM1输出PWM的例程,我把其中PWM1的配置替换成PWM3配置,IO初始化也初始化了PWM3的通道0 和通道1,为什么PWM3没有输出呢
void PWM_GpioInit(void)
{
    //配置PWM2 GPIO
    GPIO_SetFunc(GPIO_PB15, 1); ///Set PWM2_CH0
    GPIO_SetFunc(GPIO_PC0, 1); ///Set PWM2_CH1
    GPIO_SetFunc(GPIO_PC1, 1); ///Set PWM2_CH2
    GPIO_SetFunc(GPIO_PC2, 1); ///Set PWM2_CH3
    GPIO_SetFunc(GPIO_PD13, 1); ///Set PWM2_CH4
    GPIO_SetFunc(GPIO_PD14, 1); ///Set PWM2_CH5
    //配置PWM1 GPIO
    GPIO_SetFunc(GPIO_PD3, 1);  ///Set PWM1_CH0
    GPIO_SetFunc(GPIO_PD4, 1);  ///Set PWM1_CH1
    //配置PWM0 GPIO
    GPIO_SetFunc(GPIO_PB8, 1);  ///Set PWM0_CH0
    GPIO_SetFunc(GPIO_PB9, 1);  ///Set PWM0_CH1

    //配置PWM3 GPIO
    GPIO_SetFunc(GPIO_PD7, 1);  ///Set PWM0_CH0
    GPIO_SetFunc(GPIO_PD8, 1);  ///Set PWM0_CH1

}


void PWM1_GenerateFrequency(void)
{
    uint16_t preScaler = 0,channelValue;
    float duty = 0;
    /*
        初始化PWM模块为边沿对齐(PWM_PWMMODE_EDGEALLIGNED),高有效(PWM_PWM_HIGHTRUEPULSE)
        输出模式有三种配置模式:
        1. EPWM(边沿对齐)模式  PWM_PWMMODE_EDGEALLIGNED
            EPWM(边沿对齐) 周期由MCVR - CNTIN + 1确定,占空比由CHnV - CNTIN确定
        边沿对齐PWM频率的计算公式 = PWM时钟频率 / (PWM计数器的模数值 - CNTIN + 1) / (PWM时钟分频值 + 1)
        freqValue = CLK / (MOD_PWM - CNTIN+ 1) / (PRESCALER_PWM + 1)
        备注:默认CNTIN为0,如果没有特意去设置CNTIN值,计时公式可简写为:
        freqValue = CLK / (MOD_PWM + 1) / (PRESCALER_PWM + 1)
        2.CPWM(中心对齐)模式 PWM_PWMMODE_CENTERALLIGNED
            CPWM(中心对齐) 周期由2x(MCVR - CNTIN)确定,占空比由2x(CHnV - CNTIN)确定。MCVR必须保持在0x0001至0x7FFF范围内。
        中心对齐PWM频率的计算公式 = (PWM时钟频率 / (PWM计数器的模数值 - CNTIN + 1) / (PWM时钟分频值 + 1)) / 2
        freqValue = CLK / (MOD_PWM - CNTIN+ 1) / (PRESCALER_PWM + 1) / 2
        3.Combine模式  PWM_PWMMODE_COMBINE
            组合模式周期由(MCVR - CNTIN + 1)确定,占空比由(|CH(n+1)V - CH(n)V|)确定。
        组合模式PWM频率的计算公式 = PWM时钟频率 / (PWM计数器的模数值 - CNTIN + 1) / (PWM时钟分频值 + 1)
        freqValue = CLK / (MOD_PWM - CNTIN + 1) / (PRESCALER_PWM + 1)
        组合模式两个通道的输出默认为互补输出。可配置为非互补输出。如何配置?

        有效极性配置:
        PWM_PWM_HIGHTRUEPULSE:高有效,如果占空比设为25%,是指的高有效电平占比25%
        PWM_PWM_LOWTRUEPULSE:低有效,如果占空比设为25%,是指的低有效电平占比25%
    */
    PWM_PWMInit(PWM3, PWM_PWMMODE_EDGEALLIGNED, PWM_PWM_HIGHTRUEPULSE);
    /*
    设置MCVR寄存器。及设置PWM计数器的模数值。当PWM计数值达到MCVR值后,
    溢出标志(CNTOF)在下一个时钟置起,计数器的下一个值取决于所选的计数方法。
    */
    PWM_SetModValue(PWM3, MOD_PWM);
    // 占空比计算方式
    /*
        注意:如下计算方式仅限于边沿对齐和中心对齐模式,组合模式的占空比由(|CH(n+1)V - CH(n)V|)确定。
    */
    duty = 0.25; //25%占空比
    channelValue = (MOD_PWM +1) * duty;//
    //设置CH0占空比
    PWM_SetChannelValue(PWM3, PWM_CHANNEL_CHANNEL0, channelValue);
    duty = 0.90; //60%占空比
    channelValue = (MOD_PWM +1) * duty;//
    //设置CH1占空比
    PWM_SetChannelValue(PWM3, PWM_CHANNEL_CHANNEL1, channelValue);
    preScaler = (APB_CLK / (MOD_PWM + 1) / FREQ) - 1;
    PWM_ClockSet(PWM3, 1, preScaler);
}


沙发
 楼主 | 2019-8-7 10:12 | 只看该作者
file:///C:/Users/ADMINI~1/AppData/Local/Temp/WeChat%20Files/cfb65e77b966f6713ce7d7e7644a7a0.png
板凳
 楼主 | 2019-8-7 10:16 | 只看该作者
file:///C:/Users/ADMINI~1/AppData/Local/Temp/WeChat%20Files/cfb65e77b966f6713ce7d7e7644a7a0.png
地板
 楼主 | 2019-8-7 10:18 | 只看该作者
    PWM_PWMInit(PWM3, PWM_PWMMODE_EDGEALLIGNED, PWM_PWM_HIGHTRUEPULSE);
    /*
    设置MCVR寄存器。及设置PWM计数器的模数值。当PWM计数值达到MCVR值后,新澳门吉利彩票网址:
    溢出标志(CNTOF)在下一个时钟置起,计数器的下一个值取决于所选的计数方法。
    */
    PWM_SetModValue(PWM3, MOD_PWM);
    // 占空比计算方式
    /*
        注意:如下计算方式仅限于边沿对齐和中心对齐模式,组合模式的占空比由(|CH(n+1)V - CH(n)V|)确定。
    */
    duty = 0.25; //25%占空比
    channelValue = (MOD_PWM +1) * duty;//
    //设置CH0占空比
    PWM_SetChannelValue(PWM3, PWM_CHANNEL_CHANNEL0, channelValue);
    duty = 0.90; //60%占空比
    channelValue = (MOD_PWM +1) * duty;//
    //设置CH1占空比
    PWM_SetChannelValue(PWM3, PWM_CHANNEL_CHANNEL1, channelValue);
    preScaler = (APB_CLK / (MOD_PWM + 1) / FREQ) - 1;
    PWM_ClockSet(PWM3, 1, preScaler);
5
| 2019-8-7 10:35 | 只看该作者
你的PWM_GpioInit中,对PWM3的端口配置有误,应该为
    GPIO_SetFunc(GPIO_PD7, 3);  ///Set PWM3_CH0
    GPIO_SetFunc(GPIO_PD8, 3);  ///Set PWM3_CH1
详细的PinMux可根据芯片参考手册来配置,避免复用端口功能配置出错
6
 楼主 | 2019-8-7 11:19 | 只看该作者
OK了   谢谢杰发电子工程师
7
| 2019-8-7 11:59 | 只看该作者
绝对润 发表于 2019-8-7 11:19
OK了   谢谢杰发电子工程师

原理图上芯片引脚的复用功能顺序是按照复用功能配置来排的,从左到右,从0开始,像PD7,PD8的PWM3功能从左数就是复用功能3了。

扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

永利游戏开户直营 快速回复 返回顶部 返回列表
澳门作文永利登入 必赢GPK棋牌 12bet娱乐城登入 永利游戏开户直营 秒速时时彩平台
江山MG电子网址 老虎机技巧 mg百搭小丑扑克 天天VR3分彩开奖记录 女神国际吉利彩票网址
澳门国际赌场 神话OG东方馆走势图 瑞博国际娱乐城电子游戏 亚洲城官网下载 新澳门VR六合彩时时彩平台怎么样
皇冠现金官网登入 皇家BBIN电子时时彩软件 申博免费开户官网登入 ttSUNBET申博彩票官网 永利云南时时彩开奖记录