打印
[PIC®/AVR®/dsPIC®产品]

PICF4520 PWM TMR2问题

[复制链接]
1903|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
蓝色傻兔子|  楼主 | 2014-8-23 17:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 蓝色傻兔子 于 2014-8-25 13:58 编辑

#include <pic18.h>
#include <htc.h>
__CONFIG(1,HS);
__CONFIG(2,WDTDIS);
__CONFIG(3,PBADDIS);
__CONFIG(4,XINSTDIS);
#define uchar unsigned char
unsigned int ycon;
unsigned char pwmbuf;
void main(void)
{
    unsigned int a=0,b=0;
    OSCCON=0X00;
    ADCON1=0X0F;
    TRISA=0XFF;
    TRISB=0XFF;
    TRISC=0X00;
    TRISD=0XFF;
    TRISE=0xff;
    PORTC=0X00;
   CCP2CON=0X3C;
    PR2=250;
   
    TMR2=0x00;

    T2CKPS1=0;
    T2CKPS0=0;                   //前分频为1:1
    TMR2ON=1;
    CCPR2L=50;
   /*while(1);*/
}
就是这个,我把TMR2去掉就有PWM,加上就没有,但是如果我加上的话,再加上循环,就有PWM,这是为什么
沙发
wangch_sh| | 2014-8-23 19:09 | 只看该作者
PWM应该用到TMR2了吧。你怎么去掉的?

使用特权

评论回复
板凳
yklstudent| | 2014-8-23 21:40 | 只看该作者
这种低级问题,只能找PIC的FAE人员才会给你解答

使用特权

评论回复
地板
蓝色傻兔子|  楼主 | 2014-8-24 17:49 | 只看该作者
wangch_sh 发表于 2014-8-23 19:09
PWM应该用到TMR2了吧。你怎么去掉的?

我没有去,没有去掉就没有PWM,去掉后才有

使用特权

评论回复
5
蓝色傻兔子|  楼主 | 2014-8-24 17:49 | 只看该作者
yklstudent 发表于 2014-8-23 21:40
这种低级问题,只能找PIC的FAE人员才会给你解答

确实是初学,不知道您清楚不

使用特权

评论回复
6
yklstudent| | 2014-8-24 18:07 | 只看该作者
蓝色傻兔子 发表于 2014-8-24 17:49
确实是初学,不知道您清楚不

TMR2你一直清零,怎么可能产生PWM输出呢

使用特权

评论回复
7
蓝色傻兔子|  楼主 | 2014-8-25 10:33 | 只看该作者
yklstudent 发表于 2014-8-24 18:07
TMR2你一直清零,怎么可能产生PWM输出呢

一直清0?我只是在初始化时的时候请0啊,并没有写入循环啊

使用特权

评论回复
8
蓝色傻兔子|  楼主 | 2014-8-25 10:36 | 只看该作者
蓝色傻兔子 发表于 2014-8-25 10:33
一直清0?我只是在初始化时的时候请0啊,并没有写入循环啊

您的意思是,初始化TMR2=0;后,会一直保持0,如果我加了那个循环,才会自动清0TMR2么

使用特权

评论回复
9
yklstudent| | 2014-8-25 11:55 | 只看该作者
蓝色傻兔子 发表于 2014-8-25 10:33
一直清0?我只是在初始化时的时候请0啊,并没有写入循环啊

果然对于你这种新人,只能找FAE了

使用特权

评论回复
10
gaoyang9992006| | 2014-8-25 12:04 | 只看该作者
呵呵,这个我以前会,好几年没有玩PIC了

使用特权

评论回复
11
蓝色傻兔子|  楼主 | 2014-8-25 13:52 | 只看该作者
yklstudent 发表于 2014-8-25 11:55
果然对于你这种新人,只能找FAE了

:'(

使用特权

评论回复
12
蓝色傻兔子|  楼主 | 2014-8-25 13:52 | 只看该作者
gaoyang9992006 发表于 2014-8-25 12:04
呵呵,这个我以前会,好几年没有玩PIC了

大神还记得点不~~

使用特权

评论回复
13
蓝色傻兔子|  楼主 | 2014-8-25 14:02 | 只看该作者
yklstudent 发表于 2014-8-25 11:55
果然对于你这种新人,只能找FAE了

大神,再赐教一点嘛,为什么得的加上while(1);等待才有PWM

使用特权

评论回复
14
gaoyang9992006| | 2014-8-25 14:26 | 只看该作者
不加while死循环,程序就结束了
加了这个,程序进入死循环,但是程序并未结束,而是等待中断处理。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
蓝色傻兔子 + 1 很给力!
15
蓝色傻兔子|  楼主 | 2014-8-25 14:33 | 只看该作者
gaoyang9992006 发表于 2014-8-25 14:26
不加while死循环,程序就结束了
加了这个,程序进入死循环,但是程序并未结束,而是等待中断处理。 ...

当我将TMR2=0;去掉后,即使不加while,也会产生PWM,不明白为什么

使用特权

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

本版积分规则

2

主题

21

帖子

0

粉丝