asassasa11 发表于 2023-9-24 15:55:36

不懂就问!屠龙3使用USB方式仿真,断点后全速卡在DELAY循环?是什么道理

不懂就问!屠龙3使用USB方式仿真,用的是官方的走马灯程序。进入一次断点后,改F5全速运行,但卡在DELAY循环中?是什么道理

void delay_ms(u8 ms)
{
u16 i;
do
{
    i = MAIN_Fosc / 6000;
    while(--i);   //6T per loop
}while(--ms);
}


就一直在 while(--i);   这一句
怎么F5都出不来,这是怎么回事,请路过的高手支个着,谢谢


乘风飞扬 发表于 2023-9-25 19:02:44

你在DELAY循环外面加个断点在全速运行试试。
全速运行手动停止时,运行到while(--i);的机率最高。

asassasa11 发表于 2023-9-29 20:26:02

乘风飞扬 发表于 2023-9-25 19:02
你在DELAY循环外面加个断点在全速运行试试。
全速运行手动停止时,运行到while(--i);的机率最高。 ...

我就是在Delay外灯闪的地方有断点,再停了后走全速就出现卡进delay while里了,这个问题要怎么办才可能不卡while中

乘风飞扬 发表于 2023-9-30 09:21:10

asassasa11 发表于 2023-9-29 20:26
我就是在Delay外灯闪的地方有断点,再停了后走全速就出现卡进delay while里了,这个问题要怎么办才可能不 ...

能不能提供详细一点信息?例如调用delay_ms时参数设置多少?
提醒一点,delay_ms函数的参数类型设置的是u8,所以参数不能超过255.
页: [1]
查看完整版本: 不懂就问!屠龙3使用USB方式仿真,断点后全速卡在DELAY循环?是什么道理