找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

*** WARNING L30: MEMORY SPACE OVERLAP

查看数: 341 | 评论数: 8 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2025-8-21 20:41

正文摘要:

我刚用stc8H的库函数来开发,碰到一个问题,只要一使用定时器,就报 *** WARNING L30: MEMORY SPACE OVERLAP     FROM:    C:00000BH        TO:     &n ...

回复

ID:69038 发表于 2025-8-26 15:27
这个代码架构有问题:
按你的图中TL0=0x40,TH0=0xA2 ,假设主频为12M,在1T时,约为2ms一中断,
再看你图中的中断ISR函数中都有什么:
除了有最基本的计数,
还有JDQ,有LED1、有LED2执行驱动的代码,
还有GET_ADC、OLED_Show、这样本该在中断外执行的函数
还有一大堆的if ( )、有的if ()还是一连串的&&..
你有没有大约算一下,进中断,完整走完再出来,需花费多少时间?
会不会直接干翻了这个2ms的中断?
这明显是把餐后甜点当主食了,能行吗?

如果你在main()中调用了GET_ADC、OLED_Show等函数,又在中断中调用了同样的函数,很容易出问题的。
你说你注释了中断代码就OK,也说明上述的理论是正确的。
ID:879809 发表于 2025-8-26 11:35
代码空间够用,链接脚本有问题?
ID:67199 发表于 2025-8-22 17:10
看看整个程序有没有重复定义  interrupt 1,别外中断内代码尽量简洁,别执行太大的程序,可以设置状态标志位,把程序放主程序内,通过状态标志位来判断执行现与否,执行后清除标志。
ID:744809 发表于 2025-8-22 10:35
空间不够了吧
ID:672895 发表于 2025-8-22 07:33
coody_sz 发表于 2025-8-21 22:52
地址重叠,看看m51文件吧。

谢谢您的回复,能说详细一点吗,我初学者
ID:1034262 发表于 2025-8-21 22:52
地址重叠,看看m51文件吧。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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