社区导航

 

搜索
查看: 2193|回复: 6

请教关于51单片机之间的区别

[复制链接]

102

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-11-13 10:58 | 显示全部楼层 |阅读模式
以前用过EasyProbe 8052F单片机,现在在用C8051F060单片机
想把一个以前编写的程序移植过去
我想问下各位在外部变量的使用上有什么区别和要注意的
因为我在移植后出现了诸如下面的警告:
WARNING L1: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  VALUE
    MODULE:  E:\MCU\PROGRM_KEY_DIS\KEYDISC8051F060.OBJ (KEYDISC8051F060)

WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:  VALUE
    MODULE:  E:\MCU\PROGRM_KEY_DIS\KEYDISC8051F060.OBJ (KEYDISC8051F060)
    ADDRESS: 182FH
望各位指点!


107

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-11-13 11:21 | 显示全部楼层
单片机代码移植注意点:
1。特殊功能寄存器名称可能不同,地址可能不同,例如比较器模块,AD转换模块,SPI模块等等。
2。RAM空间大小可能不同。
3。伪指令可能不同。
4。编译配置可能不同。

仔细阅读两者的datasheet。

从所给信息看:你找到 地址182FH(ROM)的指令代码, 可能有个外部变量你没有定义,或者在作用域之外调用了该变量。

回复

使用道具 举报

117

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2009-11-13 14:39 | 显示全部楼层
新华龙单片机,以前用过。

回复

使用道具 举报

107

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-11-13 16:45 | 显示全部楼层
引用 1 楼 duojinian 的回复:
单片机代码移植注意点:
1。特殊功能寄存器名称可能不同,地址可能不同,例如比较器模块,AD转换模块,SPI模块等等。
2。RAM空间大小可能不同。
3。伪指令可能不同。
4。编译配置可能不同。

仔细阅读两者的datasheet。

从所给信息看:你找到 地址182FH(ROM)的指令代码, 可能有个外部变量你没有定义,或者在作用域之外调用了该变量。
正解

回复

使用道具 举报

110

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-11-13 20:56 | 显示全部楼层
注意,C8051f单片机对于union的支持度有待考证,我也是多次遇到你说的错误,吧union类型的变量改为struct型,就通过编译了

回复

使用道具 举报

106

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-11-13 22:12 | 显示全部楼层
学习

回复

使用道具 举报

107

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-11-15 21:12 | 显示全部楼层
首先非常感谢大家的指点,尤其是1楼duojinian的指点
我的问题解决了,是extern的使用问题,希望大家在用的时候也注意下。

回复

使用道具 举报

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

关闭

站长推荐上一条 1/8 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

词云| Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-7-16 07:37 , Processed in 0.229930 second(s), 27 queries , Gzip On, MemCache On.

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