控制/MCU
在单片机学习的过程中,掌握一点汇编语言是非常有必有的,作为低级语言汇编语言在单片机开发中有它不可取代的作用,比如每条指令可以精确的确定延时时间,便于理解非常适合硬件工程师学习。但是要提高单片机技能,必须掌握C 语言编程,因为C 语言有强大的模块化管理思想。我想在很多人学习的过程中即学了汇编语言,又学习了C 语言,那么一个问题便随之而产生,如果将C 语言与汇编语言相互结合,达到更好的编程效果,本次讲解就是基于这个问题而生成的。
大家可以看到,我的延时函数用的汇编。然而编译后无法创建目标。
此时大家右键左边的工作组1:Source Group 1。然后点击第一个Options for Group ‘Source Group 1’。
将对话框右边红圈内两个选项各点两次,使对勾成为黑色。
点击OK后就可以编译了。
如果大家在编译时出现两个警告:
警告内容如下:
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: ?C_START
MODULE: STARTUP.obj (?C_STARTUP)
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: ?C_START
MODULE: STARTUP.obj (?C_STARTUP)
ADDRESS: 0038H
大家右键左边工作组1 Source Group1,添加文件到工作组1 Add Files to Group‘xxx’。
出来对话框后找到Keil安装目录-C51-LIB,然后把文件类型选成Library file(*.lib)。
找到C51S.lib,点Add:
这样问题就解决了。
全部0条评论
快来发表一下你的评论吧 !