|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 cjsb37 于 2013-4-29 08:58 编辑
很郁闷,我用TMS320LF2407A设计了一块控制伺服驱动器的板子,基本参照合众达的开发板设计的,用合众达的例程后,自己的板子EVB的T3PWM和T4PWM均有脉冲输出,但EVA的T1PWM和T2PWM只是一个死电平,无脉冲输出,DSP已经换过,也换过其他板子,现象一样,排除了虚焊的可能,检查电源的连接,和Datasheet的要求一样,用同样的例程到合众达的开发板上测试,四个管脚均有输出,请教高手,这是什么原因啊?
附上程序:
#include "SEED-DEC2407.h"
#include "TIMER_PWM.h"
void main()
{
*IFR = 0x3f;
*IMR=0x00;
DINT;
SystemInit();
TimerPWMInit();
/* *IMR = 0x02;*/
EINT;
for(;;);
}
void SystemInit(void)
{
/* WSGR = 0; */
*WDCR = 0x6f;
*SCSR1 = 0x20C;
// *SCSR1 = 0x00C;
}
void TimerPWMInit(void)
{
*MCRA = 0x3000;
*MCRC = 0x0c00;
*GPTCONA = 0x004a;
*GPTCONB = 0x004a;
*COMCONA = 0xa600;
*COMCONB = 0xa600;
*T1CNT = 0;
*T2CNT = 0;
*T3CNT = 0;
*T4CNT = 0;
*T1CON = 0x1A42;
*T2CON = 0x1A42;
*T3CON = 0x1A42;
*T4CON = 0x1A42;
*T1PR = 0x063;
*T2PR = 0x063;
*T3PR = 0x063;
*T4PR = 0x063;
*T1CMPR = 0x031;
*T2CMPR = 0x031;
*T3CMPR = 0x031;
*T4CMPR = 0x031;
// *EVAIFRA = 0x0002;
// *EVAIMRA = 0x0002;
}
interrupt void PHANTOM(void)
{
}
interrupt void c_int2(void)
{
if((*PIVR & 0x21) == 0x21)
{
*EVAIFRA = 0x0002;
}
/* *IFR = 0x02;*/
EINT;
}
头文件都是合众达例程所带,我的输入时钟为10M有源晶振。
有望高手指点!
谢谢!
QQ:519939721
TEL:13912493195
跟帖也行,谢谢
|
|