首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

请教PWM模块问题,谢谢指教

请教PWM模块问题,谢谢指教







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


请大侠们告诉我啊


 


程序编译有什么警告出现?
看起来是对TCNT寄存器的操作中有不当的地方
程序编译中一切正常,下载时总执行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


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

#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
请大侠们看一下上面程序,怎么在下载时会出现那种情况呢?我晕了
你的工程是不是用引导生成的?
是的.有几次都是这个问题,我不懂为什么?后来我又重新建了工程,不知为什么又好了,怪事!但原先的工程编译没问题,下栽不行
程序的下载应该和程序本身没有关系,因为此时程序并没有运行。可能还是你的硬件连接有问题。
海纳百川  有容乃大
返回列表