C51编译警告

发布者:电子创意达人最新更新时间:2016-11-24 来源: eefocus关键字:C51  编译警告 手机看文章 扫描二维码
随时随地手机看文章

C51编译警告“*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL”


 *** 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: 000DH 

         如果你在用C51编译器出现上面的警告,并且找遍了网上也没能找出个究竟时,你是否觉得这个问题很难,难得以至于没人能回答呢?

        其实这个只是初学者和粗心者才会犯的错误:没把C文件添加到项目中!

///另外,还有可能是因为存在没有被调用的已经定义的函数。


关键字:C51  编译警告 引用地址:C51编译警告

上一篇:C51定时器计算工具
下一篇:ds1302的C51驱动

推荐阅读最新更新时间:2024-03-16 15:22

C51 库函数(1)
C-51软件包的库包含标准的应用程序,每个函数都在相应的头文件(.h)中有原型声明。如果使用库函数,必须在源程序中用预编译指令定义与该函数相关的头文件(包含了该函数的原型声明)。例如: #include #include 如果省掉头文件,编译器则期望标准的C参数类型,从而不能保证函数的正确执行。 3.1 CTYPE.H:字符函数 在CTYPE.H头文件中包含下列一些库函数: 函数名: isalpha 原 型: extern bit isalpha(char) 功 能: isalpha检查传入的字符是否在‘A’-‘Z’和‘a’-‘z’之间,如果为真返回 值为1,否则为0。 函数名: isalnum 原 型: extern b
[单片机]
小白自学c51笔记之独立按键
先上个单片机开发板上独立按键的图(我的有四个): 上述按键中23之间,14之间(即引脚之间距离长的)本来就是连通的,按下按键后1和2,3和4连通,如果想让按键连接两支路则可把两支路分别连到1,2或分别连到3,4(我觉得连到任两引脚都可)。 开发板原理图上独立按键模块: GND为接地即低电压,如果按键k1按下则接通相当于一条导线,那么对应的P3^1也为低电压。 抖动现象:一般持续时间为5ms~10ms 按下按键后 在程序中判断P3^1或其他三个口电压是否为低电压,即0时由于存在抖动,可能造成错误,所以要消除抖动。 为了消除抖动现象,有两种方法,一是硬件消抖,二是软件消抖。本质都是延时(这个本质是我自己方便理
[单片机]
小白自学<font color='red'>c51</font>笔记之独立按键
C51单片机对共阳极数码管的控制设计
这是共阳极数码管的电路图,其中JP3接到P0口,JP3的8-1对应数码管的a-dp引脚。 共阳极数码管的编码表如下,注意a---最低位,dp---最高位: 【0---3】0xco,0xf9,0xa4,0xb0, 【4---7】0x99,0x92,0x82,0xf8, 【8---B】0x80,0x90,0x88,0x83, 【C---F】0xc6,0xa1,0x86,0x8e。 C51程序显示数字0-9: #include #define uchar unsigned char void delay(); uchar smg[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,
[单片机]
<font color='red'>C51</font>单片机对共阳极数码管的控制设计
C51—模拟IIC总线实现EEPROM存取数据
- 什么是IIC总线 IIC总线是同步通信的一种特殊形式,具有接线口少、控制简单、器件封装形式小、通信速率高等特点。在主从通信中,可以有多个IIC总线器件同时连接到IIC总线上,所有与IIC兼容的器件都具有标准的接口,通过地址来识别通信对象,使他们可以经由IIC总线互相直接通信。 IIC总线由SDA数据线和SCL时钟线俩条线构成通信线路,既可发送数据也可以接收数据。在CPU和IC之间、IC与IC间都可以双向传播,每个器件都有唯一的地址,这样就可以使信息进行准确的传输。CPU发出的信号分为地址码和数据码俩部分,地址码用来选址,数据码是通信的内容。 总而言之,IIC总线就是器件之间的通信线路,主器件可以通过IIC总线向从器件发
[单片机]
<font color='red'>C51</font>—模拟IIC总线实现EEPROM存取数据
keil c51是如何启动c程序的
汇编是从org 0000h开始启动,那么keil c51是如何启动main()函数的?keil c51有一个启动程序startup.a51,它总是和c程序一起编译和链接。下面看看它和main()函数是如何编译的; //主函数如下; void main(void) { while (1)这是个无条件空循环。 { } } 把上面的main()函数编译后的汇编程序和反汇编代码整理后对照如下; ?C_C51STARTUPSEGMENTCODE ?PR?main?TESTMAINSEGMENT CODE ?STACKSEGMENTIDATA RSEG?STACK DS1 CSEGAT0 ?C_STARTUP:LJMPSTARTUP1 C
[单片机]
C51开发中的static, const, code关键字
static关键字 static在C里面可以用来修饰变量, 也可以用来修饰函数 static修饰变量 变量在C里面可以存在三处: 全局数据区, 栈和堆. 堆和栈是不同的. int a ; int main() { int b ; int c* = (int *)malloc(sizeof(int)); } 上面的代码中, a是全局变量, b是栈变量, c是指向堆变量的指针 static对全局变量的修饰: 限制了只能是本文件引用此变量. 有的程序由多个C文件组成, 可以互相引用变量, 但加入static修饰之后, 只能被本文件中函数引用. static对栈变量的修饰: 栈变量的生命周期延长到程序执行结束时. 一般
[单片机]
C51的基础3《关键字和标识符 》
3 关键字和标识符 3.1 关键字 所谓关键字就是已被Turbo C2.0本身使用,不能作其它用途使用的字。例如关键字不能用作变量名、函数名等。 Turbo C2.0有以下关键字: Turbo C2.0扩展的共11个 asm _cs _ds _es _ss cdecl far near huge interrupt pascal 由ANSI标准定义的共32个 auto double int struct break else long switch case enum register typedef ch
[单片机]
Keil C51中using的用法
Keil C51中using的用法 在C51中断程序中很多时候会用到using关键字,但是很多人并不明白到底是什么意思,这里转帖一篇帮助大家理解。 如果在中断服务函数 ISR 中使用寄存器,那么必须处理好 using 的使用问题:   1、中断服务函数使用 using 指定与主函数不同的寄存器组(主函数一般使用 Register bank 0)。   2、中断优先级相同的ISR 可用 using 指定相同的寄存器组,但优先级不同的 ISR 必须使用不同的寄存器组,在 ISR 中被调用的函数也要使用 using 指定与中断函数相同的寄存器组。   3、如果不用 using 指定,在 ISR 的入口,c51 默认选择寄存器组0
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved