3722|0

9790

帖子

24

TA的资源

版主

楼主
 

MSP430G2553 TA1.2 PWM 例程 [复制链接]

本帖最后由 littleshrimp 于 2014-10-16 14:45 编辑

有一段时间没使用MSP430了,这回为了实现P2.4脚(TA1.2)输出PWM正经费了点小劲,MSP430官方的代码库里使用的都是这样的代码:下边的代码注释的引脚连接里写的P1.2/TA1,乍一看还为是让TA1.1输出75%的PWM信号,其实CCR0代表的是TA0CCR0,CCTL1代表的是TA0CCTL1。
也就是说控制的是TA0.1,这样的代码真心不容易让人理解,另外官方也没有关于TA1的的代码。
我刚刚写了一个TA1.2 的,放到这里,给像我一样菜的小朋友使用,也给自己留个记号,很早以前记得遇到过类似的问题的,因为没有归档,还得自己一点点调。这回好,”有了EEWORLD我再也不用担心记不住以前解决过的问题了。“
官方msp430g2xx3_ta_16.c部分代码

  1. //               MSP430G2xx3
  2. //            -----------------
  3. //        /|\|                  XIN|-
  4. //         | |                       |
  5. //         --|RST          XOUT|-
  6. //           |                       |
  7. //           |           P1.2/TA1|--> CCR1 - 75% PWM

  8. #include  <msp430g2553.h>

  9. void main(void)
  10. {
  11.   WDTCTL = WDTPW + WDTHOLD;          // Stop WDT
  12.   P1DIR |= 0x0C;                                   // P1.2 and P1.3 output
  13.   P1SEL |= 0x0C;                                    // P1.2 and P1.3 TA1/2 options
  14.   CCR0 = 512-1;                                     // PWM Period
  15.   CCTL1 = OUTMOD_7;                            // CCR1 reset/set
  16.   CCR1 = 384;                                        // CCR1 PWM duty cycle
  17.   TACTL = TASSEL_2 + MC_1;                  // SMCLK, up mode

  18.   _BIS_SR(CPUOFF);                                // Enter LPM0
  19. }


复制代码

控制P2.4(TA1.2)输出10%方波

  1. #include  <msp430g2553.h>

  2. void main(void)
  3. {
  4.   WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  5.   P2SEL |= BIT4;                            // P2.4 option select
  6.   P2DIR |= BIT4;                            // P2.4 outputs
  7.   TA1CCR0 = 100;                            // Add Offset to TA1CCR0
  8.   TA1CCR2 = 10;                             // Add Offset to TA1CCR2
  9.   TA1CCTL2 = OUTMOD_6 ;                     // TA1CCR1 PWM toggle/set
  10.   TA1CTL = TASSEL_2 +  MC_1 ;               // SMCLK, Up to CCR0

  11.   _BIS_SR(LPM0_bits + GIE);                 // Enter LPM0 w/ interrupt
  12. }

复制代码





 
点赞 关注
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表