智能车制作
标题:
ECT模块 运用代码问题
[打印本页]
作者:
sunseven
时间:
2008-11-15 21:07
标题:
ECT模块 运用代码问题
<
>#include <hidef.h> /* common defines and macros */<BR>#include <mc9s12dg128.h> /* derivative information */<BR>#pragma LINK_INFO DERIVATIVE "mc9s12dg128b" <BR>unsigned char PUlSECOUNT;<BR>void main(void) {<BR> /* put your own code here */</P><P> DDRB=0xFF; //设置portb为输出<BR> PORTB=0xFF;//portb端口的初始值<BR> //关闭全部中断<BR> TIOS=0x00; //设置ect通道0的工作方式<BR> TSCR1=0x80; //定时器使能,正常工作<BR> TSCR2=0x01; //禁止定时器溢出中断,预分频因子为2<BR> TCTL4=0x02; //仅仅捕捉下降边沿<BR> TIE=0x01; //允许ect通道0中断<BR> TFLG1=0x01; //第0通道中断标志清零<BR> // DLYCT=0x01; //延迟256个总线时钟<BR> PUlSECOUNT=0x01; <BR> EnableInterrupts; //开启全部中断<BR> for(;;) {PORTB=~PUlSECOUNT;} /* wait forever */<BR> /* please make sure that you never leave this function */<BR>}<BR>#pragma CODE_SEG NON_BANKED<BR>void interrupt 8 pause(void) <BR>{<BR> TFLG1=0x01; <BR> if(PUlSECOUNT==0x80) <BR> {<BR> PORTB=~PUlSECOUNT;<BR> PORTB=0xFF;<BR> PUlSECOUNT=0x01;<BR> }<BR> PORTB=~PUlSECOUNT;<BR> PUlSECOUNT<<=1;<BR>}<BR>#pragma CODE_SEG DEFAULT</P><P>出现很奇怪的问题!就是说我用函数发生器输入方波!信号!用ECT模块捕捉下降边沿!通过跑马灯(LED)的原理!通过portb显示结果!</P><P>但是不知道为什么?跑马灯只是走了一趟,第一个走到第8个,之后就显示led灯全灭!然后就没反应了!请大家帮忙看看究竟是哪里除了问题!</P>
作者:
sunseven
时间:
2008-11-15 21:31
标题:
Re:ECT模块 运用代码问题
<
>什么问题呢?</P><P> </P>
作者:
whut_wj
时间:
2008-11-16 08:30
标题:
Re:ECT模块 运用代码问题
<
>#pragma CODE_SEG NON_BANKED<BR>void interrupt 8 pause(void) <BR>{<BR> PORTB=~PUlSECOUNT;<BR> PUlSECOUNT<<=1; </P><P> if( !PUlSECOUNT) <BR> {<BR> PUlSECOUNT=0x01;<BR> }<BR>}</P><P>你的程序太繁琐了。</P>
作者:
biline
时间:
2009-1-24 04:22
标题:
Re:ECT模块 运用代码问题
你单步跟踪一下就会发现了实际上进入中断服务程序之后就没出来,我今天也遇到了这种情况,还没解决呢,没法帮你了,只能告诉你原因了,知道怎么解决了请把方法发上来,谢谢
作者:
wokao
时间:
2009-9-28 16:57
lz,你说的函数发生器是什么意思啊??
作者:
qnbs1
时间:
2010-3-28 10:02
不明白
作者:
似曾相识
时间:
2011-2-20 09:00
XUEXI
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2