打印

无法输出PWM波形

[复制链接]
292|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
houcs|  楼主 | 2020-10-10 19:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
PIC18F25K40的PWM初始化设置

使用特权

评论回复
沙发
yufe| | 2020-10-10 19:31 | 只看该作者

楼主详细说说怎么回事啊,这么说太笼统了

使用特权

评论回复
板凳
houcs|  楼主 | 2020-10-10 19:36 | 只看该作者
按照数据手册的PWM设置步骤,PWM初始化函数如下:
void PWM_Init(void)
{
    CCPTMRS = 0;                //此行可注释,默认TMR2作为PWM时钟源
    RC3PPS = 0x05;              //设置CCP1/PWM1映射到引脚RC3
    TRISCbits.TRISC3 = 1;       //禁止RC3输出
    T2PR  = 31;                 //周期寄存器
    CCP1CON = 0x8C;             //使能CCP1,PWM模式
    //PIR6bits.CCP1IF = 1;
    CCPR1H = 0x04;
    CCPR1L = 0x00;              //占空比
    CCP1CON |= 0x10;
    PIR4bits.TMR2IF = 0;                //清除中断标志
    T2CLKCON = 1;               //时钟源选择:1-Fosc/4
    T2CON = 0x20;               //预分频:1/4
    T2CONbits.ON = 1;           //启动TMR2
    while( !(PIR4bits.TMR2IF) );//等待TMR2溢出
    TRISCbits.TRISC3 = 0;       //使能RC3输出
}
RC3脚,始终无法输出PWM波形!

使用特权

评论回复
地板
kangzj| | 2020-10-10 19:39 | 只看该作者
PPS脚配置的不对吧。

使用特权

评论回复
5
wangpe| | 2020-10-10 19:42 | 只看该作者
建议使用MCC生成初始化程序。

使用特权

评论回复
6
gongche| | 2020-10-10 19:46 | 只看该作者
RC3默认复用位模拟ANC3口, 看你写的代码, 明显的没有将其初始化位数字口

使用特权

评论回复
7
wenfen| | 2020-10-10 19:50 | 只看该作者
肯定是不会输出数字PWM信号的

使用特权

评论回复
8
songqian17| | 2020-10-10 19:56 | 只看该作者
为何不用上面同学的建议, 使用MCC来生成代码呢?

使用特权

评论回复
9
juventus9554| | 2020-10-10 20:00 | 只看该作者
比你自己写要高效, 可靠的多.

使用特权

评论回复
10
llljh| | 2020-10-10 20:04 | 只看该作者

使用特权

评论回复
11
renyaq| | 2020-10-10 20:07 | 只看该作者
好像MCC是比较好用呢,好多人都推荐

使用特权

评论回复
12
houcs|  楼主 | 2020-10-10 20:12 | 只看该作者

嗯,我再好好缕一缕吧,有了好消息及时通知大家

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

743

主题

8382

帖子

5

粉丝