4503|4

69

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

求助:spwm波产生怎么有误差?? [复制链接]

我的spwm波产生怎么有误差??
#include <msp430x14x.h>
#define uint unsigned int
#define uchar unsigned char
uint j=0;
uint k=0;



uint b[100] = {11.3088,33.9152,56.4882,79.0055,101.4447,123.7839,146.0008,168.0738,189.9808,
211.7003,233.2110,254.4914,275.5207,296.2782,316.7432,336.8956,356.7156,376.1835,
395.2802,413.9868,432.2848,450.1562,467.5834,484.5491,501.0366,517.0297,532.5125,
547.4698,561.8868,575.7493,589.0436,601.7566,613.8757,625.3890,636.2851,646.5533,
656.1834,665.1659,673.4920,681.1534,688.1427,694.4528,700.0776,705.0114,709.2495,
712.7877,715.6225,717.7510,719.1711,719.8816,719.8816,719.1711,717.7510,715.6225,
712.7877,709.2495,705.0114,700.0776,694.4528,688.1427,681.1534,673.4920,665.1659,
656.1834,646.5533,636.2851,625.3890,613.8757,601.7566,589.0436,575.7493,561.8868,
547.4698,532.5125,517.0297,501.0366,484.5491,467.5834,450.1562,432.2848,413.9868,
395.2802,376.1835,356.7156,336.8956,316.7432,296.2782,275.5207,254.4914,233.2110,
211.7003,189.9808,168.0738,146.0008,123.7839,101.4447,79.0055,56.4882,33.9152,
11.3088 };



void int_clk()
{
uchar i;
BCSCTL1 &=~XT2OFF; //打开XT振荡器
BCSCTL2 |=SELM1+SELS; //MCLK 8M

do
{
IFG1 &= ~OFIFG; //清除振荡错误标志
for(i = 0; i <200; i++)
_NOP(); //延时等待
}
while ((IFG1 & OFIFG) != 0); //如果标志为1继续循环等待
IFG1&=~OFIFG;
BCSCTL2 |=SELM1+SELS; //MCLK 8M
}

void main()
{
WDTCTL=WDTPW+WDTHOLD;
int_clk();
TBCCTL0 = CCIE;
TBCCR0=800;
TBCTL=TBSSEL_2+MC0;
_BIS_SR(LPM0_bits + GIE);

}
#pragma vector=TIMERB0_VECTOR
__interrupt void Timer_B(void)
{
TBCCR0=800;
k++;
if(k<101)
{
if (k==1)

{
P4SEL|=BIT3;
P4DIR|=BIT3;
P4SEL &= ~BIT2;
P4DIR &= ~BIT2;
P4OUT &= ~BIT2;
TBCCTL3=OUTMOD_7;
}


TBCCR3=b[j];
j++;
if(j>=100)
{
j=0;
}

}

else if(k>100&&k<201)
{
if (k==101)
{
P4SEL|=BIT2;
P4DIR|=BIT2;
P4SEL &= ~BIT3;
P4DIR &= ~BIT3;
P4OUT &= ~BIT3;
TBCCTL2=OUTMOD_7;

}
TBCCR2 = b[j];
j++;
if(j>=100)
{
j=0;
}
}

else
{
k=0;
// j=0;
}
return;
}



这个是我写的spwm波形,现在出现的一个问题就是等到最后几个波的时候,spwm突然会有一个满占空比的波产生,上下多会有。我用断点仿真查看错误但是还是没有效果,没有看出其中的误差。。。所以我很迷茫,热切盼望大侠的指导。。万分感激。。

最新回复

你这个写的就有问题  详情 回复 发表于 2012-7-31 14:41
 
点赞 关注

回复
举报

75

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
TBCCR3=101.4447?
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
大侠请指点,是不是这句有问题啊?
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

4
 
是不是需要是整数啊,我对这个定时器的输出模式一直很迷茫。
多谢指教
 
 
 

回复

208

帖子

3

TA的资源

纯净的硅(初级)

5
 
你这个写的就有问题
 
 
 

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

随便看看
查找数据手册?

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