3717|8

1673

帖子

0

TA的资源

五彩晶圆(中级)

楼主
 

各位大仙帮忙看看为啥PWM,木有输出 [复制链接]

void Init_TimerB(void)
{
  TBCTL= TBSSEL_2+ ID_3 +TBCLR;                // MCLK
  TBCCR0 = 40000;                                              // PWM Period
  TBCCTL1= OUTMOD_7;                                   // CCR1 reset/set
  TBCCR1 = 40000;                                              // CCR1 PWM duty cycle

  P4DIR|=0X02;
  P4SEL|=0X02;
  TBCTL|= MC_1;
}

 

为啥P4.1口一直输出0

最新回复

LZ,你好,进入到LPM3低功耗模式的时候时钟信号SMCLK是关闭的,建议你将LPM3改成LPM0试试  详情 回复 发表于 2011-8-16 11:11
 
点赞 关注
个人签名要把目标订的实现起来辛苦一点!

回复
举报

1673

帖子

0

TA的资源

五彩晶圆(中级)

沙发
 
晶振8M
 
个人签名要把目标订的实现起来辛苦一点!
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
1.关闭看门狗;
2.打开8M晶振并进行相关设置或者使用默认的DCO(800Khz)进行相关设置;
建议你看看TI的例程
 
 
 

回复

1673

帖子

0

TA的资源

五彩晶圆(中级)

4
 

回复 板凳 shuizhiqing 的帖子

你说的那些在主程序里早就设置好了。。。。
 
个人签名要把目标订的实现起来辛苦一点!
 
 

回复

1673

帖子

0

TA的资源

五彩晶圆(中级)

5
 

主程序如下

#include


#define uint unsigned int
#define uchar unsigned char

void Init_TimerB(void)
{
  TBCTL= TBSSEL_2+ ID_3 +TBCLR;                // SMCLK
  TBCCR0 = 40000;                        // PWM Period
  TBCCTL1= OUTMOD_7;                     // CCR1 reset/set
  TBCCR1 = 40000;                        // CCR1 PWM duty cycle

  P4DIR|=0X02;
  P4SEL|=0X02;
  TBCTL|= MC_1;
}
main()
{  
  unsigned int i;
  WDTCTL = WDTPW + WDTHOLD ;
  BCSCTL1 &= ~XT2OFF;         //打开XT2振荡器
  do
  {
     IFG1&=~OFIFG;         //清除振荡错误标志
     for(i=0xFF;i>0;i--);
  }
  while((IFG1&OFIFG)!=0); //如果标志为1,则继续循环等待
  BCSCTL2 |= SELM1+SELS;     //MCLK为8MHz,SMCLK为8MHz,    SELM1=SELM_2        
  P1DIR|=~(BIT4+BIT5+BIT6+BIT7);
  P1SEL|=(BIT3+BIT2);    // 选择P1^3和P1^2作为外部计数脉冲的输入端  
  P2DIR=0XFF;
  P2OUT=0X80;
  P3DIR|=(BIT0+BIT1+BIT2+BIT3+BIT4);
  P3OUT=~BIT1;
  P5DIR=0X00;
  P6DIR=0X00;
  P6SEL=0XF0;
  Init_TimerB();
  _EINT();
  while(1)
  {
    _BIS_SR(LPM3_bits);
    _NOP();//端口扫描
  }
}
 
个人签名要把目标订的实现起来辛苦一点!
 
 

回复

60

帖子

0

TA的资源

纯净的硅(初级)

6
 

回复 楼主 simonprince 的帖子

你好,LZ你的程序中的TBCCR0 和TBCCR1都设的40000,CCR1不应该大于CCR0,按照CCR1输出模式7的概述,当计数到CCR1的时候复位,计数到CCR0的时候置位。你现在这两个重了,程序估计乱了吧。
 
 
 

回复

1673

帖子

0

TA的资源

五彩晶圆(中级)

7
 

回复 6楼 3g465 的帖子

我把CCR1调到30000了也不行啊
 
个人签名要把目标订的实现起来辛苦一点!
 
 

回复

60

帖子

0

TA的资源

纯净的硅(初级)

8
 

回复 7楼 simonprince 的帖子

LZ,你好,进入到LPM3低功耗模式的时候时钟信号SMCLK是关闭的,建议你将LPM3改成LPM0试试

赞赏

1

查看全部赞赏

 
 
 

回复

1673

帖子

0

TA的资源

五彩晶圆(中级)

9
 

回复 8楼 3g465 的帖子

就是啊,我怕调试出错就把while(1) 里面的程序随便换了下,哈哈。就是这个,果然是旁观者清啊。谢谢谢谢
 
个人签名要把目标订的实现起来辛苦一点!
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表