这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 程序调试

共14条 1/2 1 2 跳转至

程序调试

工程师
2014-02-19 10:15:31     打赏
当利用ICD3进行程序调试时,出现了几个问题很困惑,想请大家指点一下,谢谢了。 1,把程序下载到单片机中,然后启动debug, 开始调试程序,点击单步运行,发现程序只是在while(1)中执行程序。外部有触发的动作,但是就是不进入中断,这是在单步调试中看到的结果。当在中断函数中设置断点之后,点击运行,发现当程序进行到中断函数的断点处时,程序停止了,通过设置断点说明,程序是可以进入中断函数的。想请教一下大家,为什么在单步运行的时候我看到的是不进入中断函数呢,但是通过设置断点的方法,发现是进入中断函数的,这是怎么回事呢?
2,设置断点之后,调试程序,运行一会,发现单片机就不按照原来下载进去的程序执行了,所以想请教一下,单片机debug的时候是不是逐条语句向单片机中下载的啊。为什么调试的时候,原来工作的单片机会不工作了呢,谢谢了。

高工
2014-02-19 11:11:59     打赏
2楼

检查一下中断入口地址是不是你设置的这个中断

仿真是要把全部程序下载进去的


工程师
2014-02-19 11:28:18     打赏
3楼

是的,调试程序之前我已经把程序完全下进去了,而且程序是运行正常的,程序实现的功能是发送数据,在串口软件上能收到正常的数据,但是当执行到某一步的时候数据就不能正常发送了。

还有中断入口地址的问题,想请教您一下,我用的编译语言是C语言,当有数据输入的时候,就会触发中断,这样应该没什么错吧,您说查看入口地址是说在寄存器中看吗,谢谢您了。


高工
2014-02-19 15:21:21     打赏
4楼
也许中断被触发了,但是在对应的位置,没有中断服务函数,也就是说,可能你触发了中断1,但是你的中断服务函数是写到中断2的入口上,但是你以为你就是写在了1的入口上。看看你的编译器关于中断响应这一块是怎么说的

专家
2014-02-23 08:03:23     打赏
5楼
是不是程序跑飞了。申请完空间使用后要清空

院士
2014-02-23 17:11:41     打赏
6楼
像中断这种东西,如果不在中断里面设置断点,在main函数里单步调试是不会进入中断程序的,即使中断已经触发。

工程师
2014-02-24 10:00:52     打赏
7楼
奥,好的,谢谢了。

工程师
2014-02-24 10:02:20     打赏
8楼
空间清空是什么意思呢,谢谢了啊,详细说说吧。我在编译的时候,按钮下方有两个按钮,一个是编译,一个是clean然后编译,您说的清空空间说的是第二种方式吧。

工程师
2014-02-24 10:02:45     打赏
9楼
奥,原来如此,谢谢了。

工程师
2014-02-24 10:02:45     打赏
10楼
奥,原来如此,谢谢了。

共14条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]