智能车制作
标题:
ECT计数问题
[打印本页]
作者:
shishishi
时间:
2008-4-28 06:24
标题:
ECT计数问题
参考别人的程序自己设计计数器如下:<br>uint V=0;<br><br>void ECT_Int(void)<br>{ TIOS_IOS7=0; //设置7为输入捕捉<br> TSCR1_TEN=1; //开启计数器<br> TCTL3_EDG7B=0;<br> TCTL3_EDG7A=1; //上升延捕捉<br> TIE_C7I=1; //启用输入捕捉中断<br> TSCR2_TOI=0; //关闭定时器溢出中断<br>}<br><br>void interrupt 15 InputCapure(void) {<br> DisableInterrupts;<br> TFLG1_C7F=1; //Clear Flag<br> V=TCNT; //Read speed<br> TCNT=0; //Clear couner <br> EnableInterrupts;<br>}<br><br>void main(void) {<br> DisableInterrupts;<br> DDRB=0x00;<br> ECT_Int();<br> EnableInterrupts;<br> for(;;) {} <br>}<br>但编译出错:“L1907:Fixup overflow in_Vector_15, to InputCapure type l,at offset 0x0”<br>请问到底是怎么回事呢?谢谢<br><br>
作者:
smartjoy
时间:
2008-4-28 06:27
标题:
Re:ECT计数问题
<FONT color=#3c3cc4>#pragma CODE_SEG NON_BANKED <BR></FONT><
><FONT color=#3c3cc4>在中断函数前加这句话就可以了</FONT></P>
作者:
shishishi
时间:
2008-4-29 00:00
标题:
Re:ECT计数问题
<
>可以了,谢谢二楼,可以告诉我为什么要加“<FONT color=#3c3cc4>#pragma CODE_SEG NON_BANKED” 吗?</FONT></P>
作者:
auto
时间:
2008-4-29 18:24
标题:
Re:ECT计数问题
将中断程序放在非分页地址中!
作者:
smartjoy
时间:
2008-4-29 21:11
标题:
Re:ECT计数问题
楼上回答的对,放在非分页区的原因是,ppage在中断程序中不压栈,不能使用
作者:
auto
时间:
2008-4-30 04:12
标题:
Re:ECT计数问题
<
>不是的,因为中断向量是16位的,只能寻址64KB空间!</P>
作者:
chenrunshe_007
时间:
2009-5-4 23:19
我发现本人很肤浅
作者:
whut_wj
时间:
2009-5-5 08:08
6楼的回答正确!
作者:
lianghongkey
时间:
2010-2-14 00:06
6楼不全面 4楼回答的是关键
作者:
kenuo1991
时间:
2010-3-23 20:36
回复
6#
auto
高手啊~呵呵
作者:
仁者
时间:
2010-4-21 18:51
学习
作者:
guoshunkai521
时间:
2012-4-14 20:34
看看
欢迎光临 智能车制作 (http://www.znczz.com/)
Powered by Discuz! X3.2