找回密码
 立即注册
查看: 222|回复: 8

请教各位高手:platformIO + SDCC的环境下,中断号超过31,怎么加入跳转的汇编?

[复制链接]
  • TA的每日心情
    奋斗
    半小时前
  • 签到天数: 77 天

    [LV.6]常住居民II

    3

    主题

    12

    回帖

    393

    积分

    中级会员

    积分
    393
    发表于 2024-1-30 08:23:09 | 显示全部楼层 |阅读模式
    请教各位高手:platformIO + SDCC的环境下,中断号超过31,怎么加入跳转的汇编?照搬Keil的那套行不通。
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    前天 10:54
  • 签到天数: 163 天

    [LV.7]常住居民III

    9

    主题

    310

    回帖

    3785

    积分

    荣誉版主

    积分
    3785
    发表于 2024-1-30 10:00:12 | 显示全部楼层
    SDCC没有设置中断号的上限(至少对目前STC存在的中断而言),无需进行扩展中断号之类的操作,直接正常用就可以了
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 08:08
  • 签到天数: 176 天

    [LV.7]常住居民III

    12

    主题

    352

    回帖

    1170

    积分

    金牌会员

    积分
    1170
    发表于 2024-1-30 10:09:36 | 显示全部楼层
    哈哈哈,正常逻辑不应该是“用了大于31的中断号,编译通不过”才去找解决方法麽
    回复 支持 反对 送花

    使用道具 举报

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

    [LV.6]常住居民II

    3

    主题

    12

    回帖

    393

    积分

    中级会员

    积分
    393
     楼主| 发表于 2024-1-30 10:27:00 | 显示全部楼层
    kksk 发表于 2024-1-30 10:00
    SDCC没有设置中断号的上限(至少对目前STC存在的中断而言),无需进行扩展中断号之类的操作,直接正常用就 ...

    试过,可以编译通过,但是运行不是预期的。听你这么说,我再查下别的原因,谢谢

    点评

    具体是哪部分和预期不同呢?你可以详细描述一下预期现象和实际现象方便判断  详情 回复 发表于 2024-1-30 16:16
    回复 支持 反对 送花

    使用道具 举报

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

    [LV.6]常住居民II

    3

    主题

    12

    回帖

    393

    积分

    中级会员

    积分
    393
     楼主| 发表于 2024-1-30 10:30:22 | 显示全部楼层
    wangxiangtan 发表于 2024-1-30 10:09
    哈哈哈,正常逻辑不应该是“用了大于31的中断号,编译通不过”才去找解决方法麽
    ...

    编译可以通过,只是运行没有达到预期的。事前能全部都考虑到,当然最好,但没有那么理想呢,谢谢回复
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    前天 10:54
  • 签到天数: 163 天

    [LV.7]常住居民III

    9

    主题

    310

    回帖

    3785

    积分

    荣誉版主

    积分
    3785
    发表于 2024-1-30 16:16:56 | 显示全部楼层
    良晨美景 发表于 2024-1-30 10:27
    试过,可以编译通过,但是运行不是预期的。听你这么说,我再查下别的原因,谢谢 ...

    具体是哪部分和预期不同呢?你可以详细描述一下预期现象和实际现象方便判断
    回复 支持 反对 送花

    使用道具 举报

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

    [LV.6]常住居民II

    3

    主题

    12

    回帖

    393

    积分

    中级会员

    积分
    393
     楼主| 发表于 2024-1-31 08:22:45 | 显示全部楼层
    kksk 发表于 2024-1-30 16:16
    具体是哪部分和预期不同呢?你可以详细描述一下预期现象和实际现象方便判断 ...

    具体就是中断函数已在主函数前声明了,配置好中断,但是没有进入中断函数。所以才联想到是不是中断入口地址的问题。

    点评

    对照STC手册例程检查是否正确开启中断: 是否对所有必须的寄存器均进行操作(例如IO中断检查PxINTE等),操作xfr时P_SW2最高位是否确定为1(如不确定可以在相关代码块前再次写入),检查EA是否保持开启。 对照SDCC手  详情 回复 发表于 2024-1-31 10:06
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    前天 10:54
  • 签到天数: 163 天

    [LV.7]常住居民III

    9

    主题

    310

    回帖

    3785

    积分

    荣誉版主

    积分
    3785
    发表于 2024-1-31 10:06:05 | 显示全部楼层
    良晨美景 发表于 2024-1-31 08:22
    具体就是中断函数已在主函数前声明了,配置好中断,但是没有进入中断函数。所以才联想到是不是中断入口地 ...

    对照STC手册例程检查是否正确开启中断:
    是否对所有必须的寄存器均进行操作(例如IO中断检查PxINTE等),操作xfr时P_SW2最高位是否确定为1(如不确定可以在相关代码块前再次写入),检查EA是否保持开启。
    对照SDCC手册3.8节检查是否正确引入中断:
    中断函数原型必须与主函数位于同一文件内,确认没有涉及3.8.1提及的常见错误。

    如均无误,尝试提取出需要进行对应中断的最小代码组合进行编译测试。
    回复 支持 反对 送花

    使用道具 举报

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

    [LV.6]常住居民II

    3

    主题

    12

    回帖

    393

    积分

    中级会员

    积分
    393
     楼主| 发表于 2024-2-1 08:24:52 | 显示全部楼层
    kksk 发表于 2024-1-31 10:06
    对照STC手册例程检查是否正确开启中断:
    是否对所有必须的寄存器均进行操作(例如IO中断检查PxINTE等), ...

    十分感谢这么详尽的回复,诚如你所说P_SW2最高位置1才能配置RTC,目前问题已解决。
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-20 09:36 , Processed in 0.085124 second(s), 65 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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