8679|21

28

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

G2553 关于TA0的两路PWM [复制链接]

MAYDAY, MAYDAY~昨晚在芯片资料47页看到P1.4复用对应TA0.2,于是做了一个PWM程序,如下所示,目的是生成周期800US,CCR1,CCR2都是占空比50%的方波。但最终结果是P1.4出来的是周期1US,50%的方波,其他一切正常。PS,换过CCR2占空比,并不影响P1.4输出;并且将所有换成TA1后,一切正常。到底错哪儿了,还请各位坛友帮我指点指点

最新回复

这么细微的差别 还真看不出来  详情 回复 发表于 2012-11-14 00:06

点评

我是这么认为的啊 TA0 确实可以产生两路pwm 但是langchpad上只有taccr0 和taccr1有对应的io口,taccr2没有对应的io口啊! 当用ta1时 问题就解决了 因为都有对应的io口,所以 我认为 lanchpad只能产生三路pwm T  详情 回复 发表于 2012-8-18 16:14
 
点赞 关注

回复
举报

28

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
/*
 * main.c
 */
#include<msp430g2553.h>

#define uchar unsigned char
#define uint unsigned int

void IntiPort()
{
P1SEL |= BIT2 + BIT4;
P1DIR |= BIT2 + BIT4;
}

void IntiTimer()
{
TACCR0 = 800;
TACCR1 = 400;
TACCR2 = 400;
TACTL |= TASSEL1 + MC0 ;
TACCTL1 |= OUTMOD_3 ;
TACCTL2 |= OUTMOD_3 ;
}

void Inti()
{
WDTCTL = WDTPW + WDTHOLD;
IntiPort();
IntiTimer();
}

void main()
{
Inti();
while(1);
}

ok.png (23.85 KB, 下载次数: 0)

ok.png

G2553中文资料.pdf

1.06 MB, 下载次数: 94

 
 

回复

11

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
是TACTL2没有鞋的缘故吧

点评

您说的是TACCTL2吧,我有些的,就在TACCTL1下面。TACTL2我记得没有  详情 回复 发表于 2012-7-24 18:55
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(中级)

4
 
楼主这样写输出的应该是SMCLK吧。。。。。至于怎么用 ,,,,TA0.2这个功能,48页也没给说明啊

点评

啊,您提醒 了我,这个频率确实是SMLK的频率,估计这P1.4是输出SMLK的频率去了。但是从程序上怎么解释呢,毕竟p1.4确实也是T0.2输出脚  详情 回复 发表于 2012-7-24 18:59
TASSEL_1是FACLK吧??  详情 回复 发表于 2012-7-23 22:42
 
 
 

回复

26

帖子

0

TA的资源

一粒金砂(中级)

5
 

回复 4楼 zhanghua1209 的帖子

TASSEL_1是FACLK吧??

点评

我写的是TASSEL1 不是TASSEL_1,您可以查一下头文件。TASSEL_1是ACLK,TASSEL1是SMCLK  详情 回复 发表于 2012-7-24 19:01
但是 楼主的程序里 P1.4口的确输的是SMCLK 因为p1.4口就是有输出smclk的功能,详细见数据手册对p1.4的解读:titter:  详情 回复 发表于 2012-7-24 00:36
TASSEL_1 的话选的就是 ACLK 但是 楼主是通过TASSEL1 来对寄存器进行操作的 这样就会不同 #define TASSEL_0 (0*0x100u) /* Timer A clock source select: 0 - TACLK */ #define TASSEL_1  详情 回复 发表于 2012-7-24 00:33
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(中级)

6
 

回复 5楼 wzw134 的帖子

TASSEL_1 的话选的就是 ACLK 但是 楼主是通过TASSEL1 来对寄存器进行操作的 这样就会不同
#define TASSEL_0               (0*0x100u)     /* Timer A clock source select: 0 - TACLK */
#define TASSEL_1               (1*0x100u)     /* Timer A clock source select: 1 - ACLK  */
#define TASSEL_2               (2*0x100u)     /* Timer A clock source select: 2 - SMCLK */
#define TASSEL_3               (3*0x100u)     /* Timer A clock source select: 3 - INCLK */
类同于
TASSEL_0   即 TACTL &=~ TASSEL1  TACTL &=~ TASSEL1;
TASSEL_1   即 TACTL |=TASSEL1  TACTL &=~ TASSEL1;
TASSEL_2  即 TACTL &=~ TASSEL1  TACTL |= TASSEL1;
TASSEL_ 3 即TACTL |=TASSEL0 +TASSEL1;
明白?
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(中级)

7
 

回复 5楼 wzw134 的帖子

但是 楼主的程序里 P1.4口的确输的是SMCLK
因为p1.4口就是有输出smclk的功能,详细见数据手册对p1.4的解读
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(高级)

8
 
楼主,定时器TA0没有CCR2的输出脚,你看IO配置就知道了,TA1才有2路PWM的输出。

点评

恩恩,问题就在这里,4页的引脚图木有TA0.2,但是您翻到48页它写的P1.4是TA0.2,  详情 回复 发表于 2012-7-24 19:03
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

9
 
不是吧!都有啊 引脚配置不对吧

点评

我就是没看出来哪儿不对啊,可能自己写的,思维套进去了。还请多多指正啊:faint:  详情 回复 发表于 2012-7-24 19:04
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

10
 
时钟源是SMCLK啊,1MHz左右,输出T= 1us。

点评

TASSEL2才是SMCLK 另外输出PWM请用OUTMOD_6  详情 回复 发表于 2012-8-18 23:48
嗯嗯,确实如您所说,P1.4 输出的应该是SMCLK,但是我就是从程序上解释不通:titter:  详情 回复 发表于 2012-7-24 19:05
 
 
 

回复

28

帖子

0

TA的资源

一粒金砂(中级)

11
 

回复 板凳 pwei 的帖子

您说的是TACCTL2吧,我有些的,就在TACCTL1下面。TACTL2我记得没有
 
 
 

回复

28

帖子

0

TA的资源

一粒金砂(中级)

12
 

回复 4楼 zhanghua1209 的帖子

啊,您提醒 了我,这个频率确实是SMLK的频率,估计这P1.4是输出SMLK的频率去了。但是从程序上怎么解释呢,毕竟p1.4确实也是T0.2输出脚

点评

楼主用ta1.不就行了 省出来1.4口还能干其他的事  详情 回复 发表于 2012-7-25 14:16
 
 
 

回复

28

帖子

0

TA的资源

一粒金砂(中级)

13
 

回复 5楼 wzw134 的帖子

我写的是TASSEL1 不是TASSEL_1,您可以查一下头文件。TASSEL_1是ACLK,TASSEL1是SMCLK
 
 
 

回复

28

帖子

0

TA的资源

一粒金砂(中级)

14
 

回复 8楼 465055608 的帖子

恩恩,问题就在这里,4页的引脚图木有TA0.2,但是您翻到48页它写的P1.4是TA0.2,
 
 
 

回复

28

帖子

0

TA的资源

一粒金砂(中级)

15
 

回复 9楼 569466353 的帖子

我就是没看出来哪儿不对啊,可能自己写的,思维套进去了。还请多多指正啊

点评

实际为准吧,自己试试。  详情 回复 发表于 2012-7-26 20:03
 
 
 

回复

28

帖子

0

TA的资源

一粒金砂(中级)

16
 

回复 10楼 谦谦 的帖子

嗯嗯,确实如您所说,P1.4 输出的应该是SMCLK,但是我就是从程序上解释不通
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(中级)

17
 

回复 12楼 madebycwq@gmail 的帖子

楼主用ta1.不就行了 省出来1.4口还能干其他的事
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(高级)

18
 

回复 15楼 madebycwq@gmail 的帖子

实际为准吧,自己试试。
 
 
 

回复

30

帖子

0

TA的资源

一粒金砂(中级)

19
 
P1.4是SMCLK的输出,当然是50%了
 
 
 

回复

27

帖子

0

TA的资源

一粒金砂(中级)

20
 

回复 楼主 madebycwq@gmail 的帖子

我是这么认为的啊  TA0 确实可以产生两路pwm 但是langchpad上只有taccr0 和taccr1有对应的io口,taccr2没有对应的io口啊!  当用ta1时  问题就解决了 因为都有对应的io口,所以 我认为  lanchpad只能产生三路pwm  TA0 一路   TA1 两路、、、、、、、
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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