打印

十路PWM输出

[复制链接]
2708|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
loansat|  楼主 | 2012-11-30 17:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "msp430g2553.h"
void Timer0A3PWM()
{
/******************************************************************
  * 定时器Timer0_A的比较输出引脚即可做PWM输出的引脚为:
  *  out0(比较值为CCR0)P1.1,P1.5
  *  out1(比较值为CCR1)P1.2,P1.6
  * ****************************************************************/
P1DIR |=BIT1 + BIT2 ;
P1SEL |=BIT1 + BIT2 ;
TACTL |= TASSEL_2 + MC_1  + TACLR; //时钟源:SMCLK;增计数模式
CCTL0 |= CCIE + OUTMOD_4;
CCTL1 |= CCIE + OUTMOD_7;
CCR0 =65535;  
CCR1 = 2457;      
}
#pragma vector = TIMER0_A1_VECTOR//因为CCTL0 |= CCIE + OUTMOD_4;
    //CCTL1 |= CCIE + OUTMOD_7;所以为CCR1,
    //而不是CCR0
__interrupt void TA0_ISR(void)
{
  ;
}
void main()
{
  WDTCTL = WDTPW + WDTHOLD;
  Timer0A3PWM();
  _EINT();
  while(1);
}
#include "msp430g2553.h"
void Timer1A3PWM()
{
/******************************************************************
  * 定时器Timer1_A的比较输出引脚即可做PWM输出的引脚为:
  * out0(比较值为CCR0)P2.0,P2.3
  * out1(比较值为CCR1)P2.1,P2.2
  * out2(比较值为CCR2)P2.4,P2.5
  * ****************************************************************/
P2DIR |=0x3f;
P2SEL |=0x3f;
TA1CTL |= TASSEL_1 + MC_1 + TAIE + TACLR; //时钟源:ACLK;增计数模式
TA1CCTL0 |= CCIE + OUTMOD_4;
TA1CCTL1 |= CCIE + OUTMOD_7;
TA1CCTL2 |= CCIE + OUTMOD_7;
TA1CCR0 =3276;//  65534;   
TA1CCR1 = 2457;   
TA1CCR2 = 819;
}
#pragma vector = TIMER1_A1_VECTOR//因为TA1CCTL0 |= CCIE + OUTMOD_4;
    //TA1CCTL1 |= CCIE + OUTMOD_7;
    //TA1CCTL2 |= CCIE + OUTMOD_7;
    //所以为CCR1,
    //而不是CCR0,即为A1不是A0
__interrupt void TA1_ISR(void)
{
  ;
}


void main()
{
  WDTCTL = WDTPW + WDTHOLD;
  Timer1A3PWM();
  _EINT();
  while(1);
}
评分
参与人数 1威望 +4 收起 理由
永远的不知 + 4 很给力!

相关帖子

沙发
loansat|  楼主 | 2012-11-30 17:34 | 只看该作者
- -     转来的

使用特权

评论回复
板凳
looope| | 2012-11-30 19:48 | 只看该作者
:)

使用特权

评论回复
地板
gaochy1126| | 2012-12-1 21:24 | 只看该作者
很牛x,这个东西适合做信号控制的

使用特权

评论回复
5
永远的不知| | 2012-12-2 17:17 | 只看该作者
TI的M4有16路PWM,楼主可以关注。

使用特权

评论回复
6
leadman| | 2012-12-2 22:40 | 只看该作者
太厉害了,如果这样在有些系统和可以不用使用多个处理器了。

使用特权

评论回复
7
smilingangel| | 2012-12-3 10:53 | 只看该作者
这个非常不错的,谢谢楼主的分享了

使用特权

评论回复
8
figo20042005| | 2012-12-3 20:44 | 只看该作者
要是C2000.10路PWM很轻松啊

使用特权

评论回复
9
yinyejunjob| | 2013-2-20 15:04 | 只看该作者
STK6037有21路硬件PWM,可加Q:1364494484要资料

使用特权

评论回复
10
hawksabre| | 2013-2-20 20:22 | 只看该作者
有点问题   为什么有两个主函数   void  main()?

使用特权

评论回复
11
lzmm| | 2013-2-21 20:38 | 只看该作者
做个飞控还真的不错,舵机控制丰富

使用特权

评论回复
12
lzmm| | 2013-2-21 20:38 | 只看该作者
谢谢楼主分享资料

使用特权

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

本版积分规则

10

主题

113

帖子

0

粉丝