找回密码
 立即注册
查看: 330|回复: 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都出不来,这是怎么回事,请路过的高手支个着,谢谢


回复 送花

使用道具 举报

  • TA的每日心情
    奋斗
    14 小时前
  • 签到天数: 164 天

    [LV.7]常住居民III

    27

    主题

    1447

    回帖

    4512

    积分

    论坛元老

    积分
    4512
    发表于 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中
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    14 小时前
  • 签到天数: 164 天

    [LV.7]常住居民III

    27

    主题

    1447

    回帖

    4512

    积分

    论坛元老

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

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-6-14 23:24 , Processed in 0.055234 second(s), 40 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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