-
真好
-
请问 开始时间怎么确定啊
-
:) :funk:
-
#include
#include
#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long
extern unsigned long PWM_T=20000;//20000;static
void delay(void);
void Init_Clock(void)
{
int i=0;
BCSCTL1&=~XT2OFF; // XT2on
do
{
IFG1&=~OFIFG; // Clear OSCFault flag
for (i = 0xFF; i > 0; i--); // Time for flag to set
}
while ((IFG1 & OFIFG)); // OSCFault flag still set?
BCSCTL2 |= SELM_2 + SELS; // MCLK = SMCLK = XT2 (safe)
_EINT(); //打开全局中断控制,若不需要打开,可以屏蔽本句
}
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; //关闭看门狗
Init_Clock();
P4SEL|= BIT1+BIT2+BIT3+BIT4; // P1.2 TA1模式P1.3 TA2模式
P4DIR|= BIT1+BIT2+BIT3+BIT4; // P1.2 P1.3输出
TBCTL = TBSSEL_2+MC_1+ID_3; // SMCLK, 清零Tar,增减模式启动Timer_B,1/8分频
TBCCR0=PWM_T; // PWM 周期 10MS(100HZ)CCR0初值10000-50MS(20HZ)CCR0初值50000
CCTL0 = CCIE;
CCR0=5000;//5ms,12500-1;//12.5ms
TACTL|=TASSEL_2+ID_3+MC_1+TAIE; //ACLK 1/8 UPMODE
TBCCTL1=OUTMOD_2; // CCR1 reset t模式
TBCCR1=(PWM_T/2);//;(2*PWM_T/3); // CCR1 PWM 任务周期
TBCCTL2=OUTMOD_6; // CCR1 reset t模式
TBCCR2=(PWM_T/2);//;(1*PWM_T/3);
}
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
TBCTL = TBSSEL_1+MC_3+ID_3;
TBCCR0=PWM_T;
TBCCTL3=OUTMOD_6; // CCR1 reset t模式
TBCCR3=(1*PWM_T/3); // CCR1 PWM 任务周期
TBCCTL4=OUTMOD_2; // CCR1 reset t模式
TBCCR4=(2*PWM_T/3);
P3OUT ^= BIT4; // Toggle P3.4 using exclusive-OR
CCTL0 |= 0;
// TACTL=(TAIE&0)+MC_0;
TACTL=0;
_DINT();
}
/*******************************************
函数名称:delay
功 能:用于消抖的延时
参 数:无
返回值 :无
********************************************/
void delay(void)
{
uint tmp;
for(tmp = 12000;tmp > 0;tmp--);
}
前辈 求助
我这个程序是产生4路PWM其中2路和另2路相差90度
我用示波器 显示出来的频率 不是我设置的50HZ 非常慢 是怎么回事啊 求指点啊
-
我想产生相位相差90 度 60度 输出相位不同 得用定时器吧 可是我用定时器了 输出来的频率不是50HZ 非常低请问是怎么回事啊
-
谢谢啊 是我设置的问题 请问我在中断中设置
CCTL1 = OUTMOD_7; //设CCR1输出单元为复位/置位输出模式
CCR1 = 384; //装入CCR1 PWM的占空值
CCTL2 = OUTMOD_7; //设CCR2输出单元为复位/置位输出模式
CCR2 = 128; //装入CCR2 PWM 的占空值
为什么 和我想象的不一样啊
-
slau049e.pdf 这个也可以吧
-
在哪有的下
-
这个我都设置了
-
我用的F149 请问可以吗
-
怎么加啊
-
也就是MSP430没法软件设置死区时间了 只能通过代死区的硬件了
那请问 都有哪些代死区的硬件呢
-
:Cry:
-
大部分我认识
-
:) 加油加油
-
程序不全啊 我也正在研究SPWM程序呢
-
:shy:
-
前辈 可是我想得到两相占空比相同 相位相差90度的PWM波
-
我做过跟踪了 有时候观测的不太明白
-
前辈 别嫌我麻烦啊 CCR1 CCR2 用同一种模式 怎么能让他们产生 占空比相同 相位不同啊