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

求助:中断号超过31报错问题:已安装拓展插件,*** ERROR L121: IMPROPER FIX

[复制链接]
  • TA的每日心情
    开心
    2024-4-19 18:15
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    4

    回帖

    35

    积分

    新手上路

    积分
    35
    发表于 2023-7-19 12:07:45 | 显示全部楼层 |阅读模式
    报错代码:
    这是编码器检测程序,还没验证可行性,编译不过
    void P2_isr() interrupt 39
    {
            u8 intf;
            intf=P2INTF;
            if (intf)
            {
                    P2INTF=0X00;//清除中断
                    if (intf & 0x10)
                    {
                            if (ENCODER_B)
                            {
                                    if (!ENCODER_A)
                                    {
                                            if (ENCODER_Nb<40)
                                            {
                                                    ENCODER_Nb++;
                                                    hc595_Tx=1;
                                            }
                                    }
                            }
                            else
                            {
                                    if (!ENCODER_A)
                                    {
                                            if (ENCODER_Nb)
                                            {
                                                    ENCODER_Nb--;
                                                    hc595_Tx=1;
                                            }
                                    }
                            }
                    }
            }
           
    }
    报错信息:
    *** ERROR L121: IMPROPER FIXUP
        MODULE:  .\list\ZP01.obj (ZP01)

        OFFSET:  00013CH


    如果把39改小,就会编译通过,比如31:
    *** WARNING L30: MEMORY SPACE OVERLAP
        FROM:    C:0000FBH   
        TO:      C:0000FEH   
    Program Size: data=11.3 xdata=684 const=0 code=3809
    creating hex file from ".\list\STC8G-H-LIB"...
    ".\list\STC8G-H-LIB" - 0 Error(s), 1 Warning(s).

    我用的是官方的库函数,加了一点代码,确定扩展已经装好了,因为我把39改成33,也能编译通过
    求助:中断号超过31报错问题:已安装拓展插件,*** ERROR L121: IMPROPER FIX-1.png

    中断号:33 编译通过:
    Program Size: data=11.3 xdata=684 const=0 code=3809
    creating hex file from ".\list\STC8G-H-LIB"...
    ".\list\STC8G-H-LIB" - 0 Error(s), 0 Warning(s).
    但是我这里要用的是39,P2的普通IO中断
    并且我发现一个现象:报错地址 跟中断入口地址差1
    求助:中断号超过31报错问题:已安装拓展插件,*** ERROR L121: IMPROPER FIX-2.png 求助:中断号超过31报错问题:已安装拓展插件,*** ERROR L121: IMPROPER FIX-3.png

    会不会是哪里出错了?请大佬帮忙看一下,源代码已上传

    zp01_V0.2.zip

    15.54 MB, 下载次数: 25

    源代码

    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-19 18:15
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    4

    回帖

    35

    积分

    新手上路

    积分
    35
     楼主| 发表于 2023-7-19 15:28:24 | 显示全部楼层
    按手册里借用中断向量13的方法可以跑起来了,先这么用着吧,但根因没找到,实际问题还没解决

    ZP01_V0.2.zip

    4.72 MB, 下载次数: 21

    新源码

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-19 18:15
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    4

    回帖

    35

    积分

    新手上路

    积分
    35
     楼主| 发表于 2023-7-19 15:39:50 | 显示全部楼层
    第一次上传的源码能能编译通过,因为我把39改成33了,但是无法使用,这个才是编译不过的代码

    ZP01_V0.2.zip

    3.58 MB, 下载次数: 21

    出问题源代码

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-19 18:15
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    4

    回帖

    35

    积分

    新手上路

    积分
    35
     楼主| 发表于 2023-7-19 15:43:39 | 显示全部楼层
    不知道是不是我的keil版本问题或者环境问题,有没有人能帮忙在自己的电脑上编译试试
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:21
  • 签到天数: 142 天

    [LV.7]常住居民III

    27

    主题

    1338

    回帖

    4173

    积分

    论坛元老

    积分
    4173
    发表于 2023-7-19 19:38:50 | 显示全部楼层
    C51编译器使用中断扩展插件时不能使用LX51模式。
    把“LX51 Misc”标签里的“REMOVEUNUSED”删掉,然后在“Device”标签里把使用LX51选项勾选去掉试试。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-19 18:15
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    4

    回帖

    35

    积分

    新手上路

    积分
    35
     楼主| 发表于 2023-7-21 09:56:37 | 显示全部楼层
    乘风飞扬 发表于 2023-7-19 19:38
    C51编译器使用中断扩展插件时不能使用LX51模式。
    把“LX51 Misc”标签里的“REMOVEUNUSED”删掉,然后在“D ...

    的确是这个问题,改完之后编译通过了,但是多了一堆未调用函数的警告,code量从4k变成了16k。看来扩展插件还可以优化一下,让它支持LX51
    回复 支持 1 反对 0 送花

    使用道具 举报

  • TA的每日心情
    郁闷
    前天 09:49
  • 签到天数: 141 天

    [LV.7]常住居民III

    20

    主题

    1078

    回帖

    2565

    积分

    金牌会员

    积分
    2565
    发表于 2023-12-13 16:50:32 | 显示全部楼层
    与到同样的扩展插件不兼容 LX51的情况,,真得有点蛋疼..
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-18 09:20
  • 签到天数: 1 天

    [LV.1]初来乍到

    12

    主题

    89

    回帖

    239

    积分

    中级会员

    积分
    239
    发表于 2023-12-13 18:37:53 | 显示全部楼层
    乘风飞扬 发表于 2023-7-19 19:38
    C51编译器使用中断扩展插件时不能使用LX51模式。
    把“LX51 Misc”标签里的“REMOVEUNUSED”删掉,然后在“D ...

    这个是一定需要支持的,LX51使用起来方便很多,L51功能太弱了呢
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 21:50
  • 签到天数: 152 天

    [LV.7]常住居民III

    34

    主题

    325

    回帖

    653

    积分

    高级会员

    积分
    653
    发表于 2024-3-4 08:29:49 | 显示全部楼层
    xhbwork 发表于 2023-12-13 18:37
    这个是一定需要支持的,LX51使用起来方便很多,L51功能太弱了呢

    请问LX51和L51区别在哪里?
    纸上得到终觉浅,绝知此事要躬行。
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-17 08:13 , Processed in 0.071258 second(s), 63 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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