关于单片机MCCP模块,设置PWM初始化
代码pwm模式初始化:IEC4bits.CCP2IE=0;//禁止CCP2中断
CCP2CON1Lbits.CCSEL = 0; // PWM
CCP2CON1Lbits.MOD = 0b0101; //PWM模式
//Configure MCCP Timebase
CCP2CON1Lbits.TMR32 = 0; // Set timebase width (16-bit)
CCP2CON1Lbits.TMRSYNC = 0;//
CCP2CON1Lbits.CLKSEL = 0b000; // 系统时钟
CCP2CON1Lbits.TMRPS = 0b00; // 预分频比(1:1)
CCP2CON1Hbits.TRIGEN = 0; // 禁止时基的触发操作
CCP2CON1Hbits.SYNC = 0b11111; //与周期寄存器匹配完无中断事件发生
//Configure MCCP output for PWM signal
CCP2CON2Hbits.OCAEN = 1; // PWM输出引脚OCM2A
CCP2CON3Hbits.OUTM = 0b000; // PWM输出模式 可转向单输出模式
CCP2CON3Hbits.POLACE = 0; //输出引脚极性为高电平有效
CCP2TMRL = 0x0000;//定时器寄存器
CCP2PRL = 0xffff; //定时器周期寄存器
CCP2RA = 0x1000; // 匹配为高电平
CCP2RB = 0x8000; // 匹配为低电平 CCP2RB-CCP1RA=脉冲周期
TRISDbits.TRISD1=0;
ANSELD=0x0000;
CCP2CON1Lbits.CCPON = 1; // Turn on MCCP module
__builtin_write_OSCCONL(OSCCON & 0xbf); // unlock PPS
RPOR12bits.RP24R = 0x0010; //RD1->CCPM2A输出比较
__builtin_write_OSCCONL(OSCCON | 0x40); // lock PPS
以上设置,无脉冲产生,想问问有没有了解的大神,是哪设置不对吗? 这里这里有个应用笔记,里面有MCCP输出PWM部分的,你看看有没有帮助 谢谢,很有帮助 问题还未解决 这个是其独有的模块吗 这个占空比是多少啊 就是什么输出都没有吗 MCCP是个什么模块呢 那个应用笔记很有用处 也有可能是硬件连接的问题 用示波器看过没
页:
[1]