|
我学cortex-m3时,用uvision4调试时遇到,单步无法响应中断的问题,如下:
编译器是 keil uvision4 选择芯片是LPC1768,ULINK2,已与硬件连接,我用F11(step)单步运行的方式,当程序运行到
while(A>B) 时这一句时,程序就总是停在此处,外面的中断函数,完成A++,即使A>B的条件,但由于程序不响就中断了
所以无法执行A++,就一下停在while(A>B)处,必须用ctrl+f11才可以跳出,而且运行到while(A>B)之前一句就必须ctrl+f11才可以.
上面选择的是 use"ulink cortex debuger" 即连硬仿真器进行调式,当选 use"simulator"时即软件模拟仿真,再用F11单
步,当运行到while(A>B)时,再一次F11,却是可以到A++处的,即跳到外面的中断函数
给我的感觉是,连接硬件仿真时,单步无法响应外面的中断,我刚开始用 uvision这个编译器,请老鸟解答~~~~
下面是真实代码:
void SysTick_Handler (void) { /* SysTick Interrupt Handler (1ms) */
SysTickCnt++; <<<无法跳到这里>>>
}
void Delay (unsigned long tick) { /* Delay Function */
unsigned long systickcnt;
systickcnt = SysTickCnt;
while ((SysTickCnt - systickcnt) < tick); <<<F11或F10就会停在此处>>>
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|