找回密码
 立即注册
查看: 1187|回复: 6

Keil C251 的 RST 不能用

[复制链接]

该用户从未签到

4

主题

8

回帖

38

积分

新手上路

积分
38
发表于 2023-2-26 12:49:17 | 显示全部楼层 |阅读模式
新安装的 Keil C251 调试功能中 RST 不能用,Keil 2/3/4 时,RST很好用,
调试出错了按一下RST重新开始就行了,现在这个按下去以后程序就停止了,
再操作单步什么的都没有反应,不能重新调试重新,有什么办法吗?请指导,谢谢!

截图00.png

回复 送花

使用道具 举报

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

    [LV.7]常住居民III

    26

    主题

    1338

    回帖

    4165

    积分

    论坛元老

    积分
    4165
    发表于 2023-2-26 18:26:31 | 显示全部楼层
    按RST按钮后程序指针跳转到起始地址开始运行,而不是到main函数的第一条指令开始运行。
    因为keil编译器会自动在main函数前面插入一段初始化代码,将RAM空间清零。
    所以按RST按钮后会先执行一段汇编代码后才能跑到main函数。
    可以在main函数里的有效指令上加断点然后全速运行,就可以运行到主程序断点位置。

    该用户从未签到

    46

    主题

    3008

    回帖

    6783

    积分

    超级版主

    积分
    6783
    发表于 2023-2-26 20:36:28 | 显示全部楼层
    按RST后,鼠标点一下主函数的第一条指令,点“运行到光标”

    该用户从未签到

    4

    主题

    8

    回帖

    38

    积分

    新手上路

    积分
    38
     楼主| 发表于 2023-2-26 22:06:29 | 显示全部楼层
    截图00.png

    真像梁工和乘风飞扬先生说的,点击 RST 以后,必须设置一个断点,然后全速运行,才能继续。后面几个运行模式也是一样。
    前几天,不小心一进入循环就出不来了,伤了不少脑筋。
    谢谢二位!!!

    该用户从未签到

    551

    主题

    9439

    回帖

    1万

    积分

    管理员

    积分
    14027
    发表于 2023-2-27 15:20:56 | 显示全部楼层
    main()  ===不是程序的开始,前面还有 KEIL C251 帮你加的程序
    复位是复位到 程序起始的地方
    1.png
    2.png
    复位是复位到 FF:0000H  相当于 8051的 0000H

    该用户从未签到

    551

    主题

    9439

    回帖

    1万

    积分

    管理员

    积分
    14027
    发表于 2023-2-27 15:22:11 | 显示全部楼层
    1.png

    该用户从未签到

    4

    主题

    8

    回帖

    38

    积分

    新手上路

    积分
    38
     楼主| 发表于 2023-2-27 16:11:22 | 显示全部楼层
    谢谢!
    回复 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-15 12:18 , Processed in 0.066591 second(s), 55 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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