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

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

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-04-19 18:15:46

1

主题

5

回帖

53

积分

注册会员

积分
53
发表于 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, 下载次数: 86

源代码

回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-04-19 18:15:46

1

主题

5

回帖

53

积分

注册会员

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

ZP01_V0.2.zip

4.72 MB, 下载次数: 70

新源码

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-04-19 18:15:46

1

主题

5

回帖

53

积分

注册会员

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

ZP01_V0.2.zip

3.58 MB, 下载次数: 64

出问题源代码

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-04-19 18:15:46

1

主题

5

回帖

53

积分

注册会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6843

积分

论坛元老

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

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-04-19 18:15:46

1

主题

5

回帖

53

积分

注册会员

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

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

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

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2025-05-02 09:56:03

19

主题

137

回帖

489

积分

中级会员

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

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:440
  • 最近打卡:2025-05-02 01:28:16
已绑定手机

40

主题

371

回帖

843

积分

高级会员

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

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

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-3 08:05 , Processed in 0.122973 second(s), 108 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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