[PIC®/AVR®/dsPIC®产品] PICF4520 PWM TMR2问题

[复制链接]
2196|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,去掉后才有
 楼主| 蓝色傻兔子 发表于 2014-8-24 17:49 | 显示全部楼层
yklstudent 发表于 2014-8-23 21:40
这种低级问题,只能找PIC的FAE人员才会给你解答

确实是初学,不知道您清楚不
yklstudent 发表于 2014-8-24 18:07 | 显示全部楼层
蓝色傻兔子 发表于 2014-8-24 17:49
确实是初学,不知道您清楚不

TMR2你一直清零,怎么可能产生PWM输出呢
 楼主| 蓝色傻兔子 发表于 2014-8-25 10:33 | 显示全部楼层
yklstudent 发表于 2014-8-24 18:07
TMR2你一直清零,怎么可能产生PWM输出呢

一直清0?我只是在初始化时的时候请0啊,并没有写入循环啊
 楼主| 蓝色傻兔子 发表于 2014-8-25 10:36 | 显示全部楼层
蓝色傻兔子 发表于 2014-8-25 10:33
一直清0?我只是在初始化时的时候请0啊,并没有写入循环啊

您的意思是,初始化TMR2=0;后,会一直保持0,如果我加了那个循环,才会自动清0TMR2么
yklstudent 发表于 2014-8-25 11:55 | 显示全部楼层
蓝色傻兔子 发表于 2014-8-25 10:33
一直清0?我只是在初始化时的时候请0啊,并没有写入循环啊

果然对于你这种新人,只能找FAE了
gaoyang9992006 发表于 2014-8-25 12:04 | 显示全部楼层
呵呵,这个我以前会,好几年没有玩PIC了
 楼主| 蓝色傻兔子 发表于 2014-8-25 13:52 | 显示全部楼层
yklstudent 发表于 2014-8-25 11:55
果然对于你这种新人,只能找FAE了

:'(
 楼主| 蓝色傻兔子 发表于 2014-8-25 13:52 | 显示全部楼层
gaoyang9992006 发表于 2014-8-25 12:04
呵呵,这个我以前会,好几年没有玩PIC了

大神还记得点不~~
 楼主| 蓝色傻兔子 发表于 2014-8-25 14:02 | 显示全部楼层
yklstudent 发表于 2014-8-25 11:55
果然对于你这种新人,只能找FAE了

大神,再赐教一点嘛,为什么得的加上while(1);等待才有PWM
gaoyang9992006 发表于 2014-8-25 14:26 | 显示全部楼层
不加while死循环,程序就结束了
加了这个,程序进入死循环,但是程序并未结束,而是等待中断处理。

评分

参与人数 1威望 +1 收起 理由
蓝色傻兔子 + 1 很给力!

查看全部评分

 楼主| 蓝色傻兔子 发表于 2014-8-25 14:33 | 显示全部楼层
gaoyang9992006 发表于 2014-8-25 14:26
不加while死循环,程序就结束了
加了这个,程序进入死循环,但是程序并未结束,而是等待中断处理。 ...

当我将TMR2=0;去掉后,即使不加while,也会产生PWM,不明白为什么
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

21

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部