找回密码
 立即注册
查看: 667|回复: 3

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

[复制链接]

2

主题

2

回帖

30

积分

新手上路

积分
30
发表于 2023-9-24 15:55:36 | 显示全部楼层 |阅读模式
不懂就问!屠龙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都出不来,这是怎么回事,请路过的高手支个着,谢谢


回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:445
  • 最近打卡:2025-06-17 12:12:21
已绑定手机

40

主题

2060

回帖

7089

积分

论坛元老

积分
7089
发表于 2023-9-25 19:02:44 | 显示全部楼层
你在DELAY循环外面加个断点在全速运行试试。
全速运行手动停止时,运行到while(--i);的机率最高。
回复 支持 反对

使用道具 举报 送花

2

主题

2

回帖

30

积分

新手上路

积分
30
发表于 2023-9-29 20:26:02 | 显示全部楼层
乘风*** 发表于 2023-9-25 19:02
你在DELAY循环外面加个断点在全速运行试试。
全速运行手动停止时,运行到while(--i);的机率最高。 ...

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:445
  • 最近打卡:2025-06-17 12:12:21
已绑定手机

40

主题

2060

回帖

7089

积分

论坛元老

积分
7089
发表于 2023-9-30 09:21:10 | 显示全部楼层
asass*** 发表于 2023-9-29 20:26
我就是在Delay外灯闪的地方有断点,再停了后走全速就出现卡进delay while里了,这个问题要怎么办才可能不 ...

能不能提供详细一点信息?例如调用delay_ms时参数设置多少?
提醒一点,delay_ms函数的参数类型设置的是u8,所以参数不能超过255.
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-17 20:16 , Processed in 0.109543 second(s), 66 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表