世纪电源网社区logo
社区
Datasheet
标题
返回顶部
未解决

MSP430F149为何使用8M的晶振,却分频得不到2M,4M的PWM波呢

[复制链接]
查看: 220 |回复: 2
1
wintdier
  • 积分:437
  • |
  • 主题:11
  • |
  • 帖子:66
积分:437
LV6
高级工程师
  • 2023-3-30 13:36:13
10问答币
使用程序如下
void int_clk()
{
uchar i;
BCSCTL1&=~XT2OFF; //打开XT振荡器
BCSCTL2|=SELS; //MCLK为8Mhz,SMCLK为8Mhz

do
{
IFG1=~OFIFG; //清除振荡错误标志
for(i=0;i<100;i++)
_NOP(); //延时
}
while((IFG1&OFIFG)!=0); //如果标志为1,则继续循环等待
IFG1&=~OFIFG;
}
void int_pwm()
{
P1SEL|=BIT2+BIT3; //选择P1.2-TA1,P1.3-TA2 为PWm输出 第二功能
P1DIR|=BIT2+BIT3;
TACCR0=800; //PWM信号频率10Khz
TACCR1=400; //占空比1:1
TACCTL1=OUTMOD_7;
TACCR2=400;
TACCTL2=OUTMOD_7;
TACTL|=TASSEL1+ID1+ID0+MC0; //选择SMCLK增加模式
}
void main()
{
WDTCTL=WDTPW+WDTHOLD;

int_clk();
int_pwm();
while(1);
}
为何就是得不到M级的pwm波呢,除此之外,如看比人说的使用DCOCTL修改DCO的时候出现未定义的情况,求指导
收藏收藏
Roben
  • Roben
  • 离线
  • LV6
  • 高级工程师
  • 积分:645
  • |
  • 主题:15
  • |
  • 帖子:166
积分:645
LV6
高级工程师
  • 2023-3-31 15:52:38
  • 倒数2
 
如果原始信号是8M,想要选择性的得到4M和2M,建议使用分频电路,分频至4M和2M,然后设计选择电路选择通道。
z443233785
  • 积分:5343
  • |
  • 主题:117
  • |
  • 帖子:1003
积分:5343
LV8
副总工程师
最新回复
  • 2023-4-2 19:34:19
  • 倒数1
 
TACCR0=800; //PWM信号频率10Khz
TACCR1=400; //占空比1:1

改为
TACCR0=3; //PWM信号频率2Mhz
TACCR1=2; //占空比1:1

TACCR0=1; //PWM信号频率4Mhz
TACCR1=1; //占空比1:1

应该就是了,我没试过会出现什么情况
使用DCOCTL修改DCO的时候出现未定义的情况,肯定就是你寄存器符号写的不对呗
热门技术、经典电源设计资源推荐

世纪电源网总部

地 址:天津市南开区黄河道大通大厦8层

电 话:400-022-5587

传 真:(022)27690960

邮 编:300110

E-mail:21dy#21dianyuan.com(#换成@)

世纪电源网分部

广 东:(0755)82437996 /(138 2356 2357)

北 京:(010)69525295 /(15901552591)

上 海:(021)24200688 /(13585599008)

香 港:HK(852)92121212

China(86)15220029145

网站简介 | 网站帮助 | 意见反馈 | 联系我们 | 广告服务 | 法律声明 | 友情链接 | 清除Cookie | 小黑屋 | 不良信息举报 | 网站举报

Copyright 2008-2024 21dianyuan.com All Rights Reserved    备案许可证号为:津ICP备10002348号-2   津公网安备 12010402000296号