Board logo

标题: 请教PWM模块问题,谢谢指教 [打印本页]

作者: haogq6895    时间: 2006-6-30 11:26     标题: 请教PWM模块问题,谢谢指教







我编了个PWM输出的程序,但在下载时出问题,显示如下;main.c::_TCNT.word runnimg,一行行总显示,程序停不下来,也不能关闭


请大侠们告诉我啊


 



作者: seuafu2005    时间: 2006-6-30 15:22

程序编译有什么警告出现?
看起来是对TCNT寄存器的操作中有不当的地方
作者: haogq6895    时间: 2006-7-3 11:03

程序编译中一切正常,下载时总执行main.c::_TCNT.word runnimg,停不下来,同样在我试PT口定时部分情况也一样.真不知什么原因命令部分显示ata:1 < ADDXPR "main.c::_TCNT.Word"
!Data:1 < ADDXPR "main.c::_TCNT.Word"
很多个上面信息后,最后是
done D:\mylab\timer-pt6\bin\Simulator.xpr


作者: haogq6895    时间: 2006-7-3 11:07


我的定时程序如下:请帮忙看一下,谢谢

#include /* common defines and macros */
#include /* derivative information */

#pragma LINK_INFO DERIVATIVE "mc9s12d64"
#define SECOND 31250 //32us*31250=1S ¼ÙÉ辧ÕñʱÖÓΪ8MHZ
//Óÿª·¢°å ¾§ÕñʱÖÓΪ4MHZ ËùÒÔ²âµÃµÄ¶¨Ê±Îª2S
void ECT_TC6Init(void)
{
TSCR2_PR = 7; //main timer prescale factor =64
//for 2M bus,the timer period=(1/2M)*64=32us
TSCR1_TEN = 1; //timer enable
TIOS=0x40; //PT6 Éè³É±È½ÏÊä³ö
TIE=0x00; //PT6 ±È½ÏÊä³öÖжÏnoʹÄÜ
}

void main(void) {
//word k;
DDRB = 0xFF;
PORTB = 0x00;
ECT_TC6Init();
TIE=0x40; //PT6 ±È½ÏÊä³öÖжÏʹÄÜ
TC6 = TCNT+SECOND;
EnableInterrupts;

for(;;) {
PORTB=0xff;
// for(k=0;k<0x8000;k++); //delay
} /* wait forever */
}



#pragma CODE_SEG NON_BANKED //ÖжϷþÎñ³ÌÐò
interrupt void Int_PT6(void)
{
// word k;
DisableInterrupts;
 TFLG1=0x40; //ÇåÖжϱêÖ¾
PORTB=0xf0;
TC6=TCNT+SECOND;
EnableInterrupts;

}
#pragma CODE_SEG DEFAULT

作者: haogq6895    时间: 2006-7-3 15:04

请大侠们看一下上面程序,怎么在下载时会出现那种情况呢?我晕了
作者: seuafu2005    时间: 2006-7-3 15:32

你的工程是不是用引导生成的?
作者: haogq6895    时间: 2006-7-4 17:36

是的.有几次都是这个问题,我不懂为什么?后来我又重新建了工程,不知为什么又好了,怪事!但原先的工程编译没问题,下栽不行
作者: strongchen    时间: 2006-7-5 11:44

程序的下载应该和程序本身没有关系,因为此时程序并没有运行。可能还是你的硬件连接有问题。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0