智能车制作

标题: XS128中断问题 [打印本页]

作者: 月是故乡明    时间: 2014-3-7 09:50
标题: XS128中断问题
[attach]56564[/attach]

在上面的程序中,if(h>=50)l里面的程序进不去,其他地方的用液晶测试了,都正常。但改为if(h>=5)就能进去了,试了一下,似乎大于10以上就进不去了,谁能指导下,在此先谢谢了

作者: 原来地球还在转    时间: 2014-3-7 09:50
你的中断时间是多少?其实液晶的显示很费时间的,最好不要写在中断里,可以在中断里设置标志位然后到主循环里面显示,我估计可能是你中断超时,你可以随便找个io口,用示波器测试一下
作者: 月是故乡明    时间: 2014-3-7 09:54
[attach]56566[/attach]
补充一下,可能说的不太清楚,只有这句进不去

作者: 正激波    时间: 2014-3-7 10:55
是不是pit定时中断设置的问题
作者: 象牙塔    时间: 2014-3-7 11:55
把h输出看看,中断是否正常,感觉是中断一段时间就不产生中断了!
作者: 月是故乡明    时间: 2014-3-7 13:42
象牙塔 发表于 2014-3-7 11:55
把h输出看看,中断是否正常,感觉是中断一段时间就不产生中断了!

我把h输出放在h++后面显示,数字显示为9,这说明加到9停了吧,但应该不是停止中断了,要是有一个函数在中断中超过一ms,会不会出现这种情况?
作者: 月是故乡明    时间: 2014-3-7 13:43
正激波 发表于 2014-3-7 10:55
是不是pit定时中断设置的问题

[attach]56568[/attach][attach]56568[/attach]

这是我的设置,应该没错呀

作者: 原来地球还在转    时间: 2014-3-7 14:22
你这语句貌似有问题啊,if之后else if再之后的else呢?我觉得是c语言的问题,你再仔细看看,是我看错了?
作者: 象牙塔    时间: 2014-3-7 15:57
月是故乡明 发表于 2014-3-7 13:42
我把h输出放在h++后面显示,数字显示为9,这说明加到9停了吧,但应该不是停止中断了,要是有一个函数在中 ...

把else去掉,建议用swich好点!

作者: 月是故乡明    时间: 2014-3-7 16:21
原来地球还在转 发表于 2014-3-7 14:22
你这语句貌似有问题啊,if之后else if再之后的else呢?我觉得是c语言的问题,你再仔细看看,是我看错了?

[attach]56572[/attach]

按照您说的,我改成了这样,显示正常了,但“ LCD_Z_num5(42,6,PIT_Count);//测试 ”这句显示为在16386数值左右跳动,按理说应该显示为2 呀,上句LCD_Z_num5(42,5,PIT_Count);//测试  显示的就是2

作者: 月是故乡明    时间: 2014-3-7 16:25
象牙塔 发表于 2014-3-7 15:57
把else去掉,建议用swich好点!

把else if 改成else后好了,但又有了点小问题,而且按理说用else if应该没问题呀,问题我在刚才的回复中有说道,请再指导下
作者: 象牙塔    时间: 2014-3-7 16:45
按道理说if elseif也没什么问题,而你加了else确实16386,应当是2吧,说明问题在PIT_Count里,跟踪一下PIT_Count的值看看!
作者: 原来地球还在转    时间: 2014-3-9 21:49
月是故乡明 发表于 2014-3-7 16:21
按照您说的,我改成了这样,显示正常了,但“ LCD_Z_num5(42,6,PIT_Count);//测试 ”这句显示为在163 ...

定义变量的时候h是否赋过初值,最好赋给它零
作者: 月是故乡明    时间: 2014-3-10 11:57
h赋初值了,液晶显示我只是测试用的,不过你说在中断里放个标志位,然后在主循环里显示,这个方法很好,我现在又开了一个中断
作者: 月是故乡明    时间: 2014-3-10 12:11
原来地球还在转 发表于 2014-3-9 21:52
你的中断时间是多少?其实液晶的显示很费时间的,最好不要写在中断里,可以在中断里设置标志位然后到主循环 ...

1MS中断
作者: 原来地球还在转    时间: 2014-3-10 13:38
月是故乡明 发表于 2014-3-10 12:11
1MS中断

太短了。。。那几乎可以肯定是终端超时了,你知道显示个液晶要好久么。。。这个真的最好别放在中断里

作者: 原来地球还在转    时间: 2014-3-10 13:40
月是故乡明 发表于 2014-3-10 11:57
h赋初值了,液晶显示我只是测试用的,不过你说在中断里放个标志位,然后在主循环里显示,这个方法很好,我现 ...

中断彼此之间会冲突的,想好优先级,其实一个中断足以了(摄像头我不清楚,我们学校其他组貌似也没有这么搞过)

作者: 月是故乡明    时间: 2014-3-11 18:50
原来地球还在转 发表于 2014-3-10 13:40
中断彼此之间会冲突的,想好优先级,其实一个中断足以了(摄像头我不清楚,我们学校其他组貌似也没有这么 ...

好的,谢谢,我是光电的,用蓝宙的自适应程序,感觉应该把自适应那部分单独放一个中断里会好点,所以开了两个




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2