keil常见错误和解决方法

发布者:sedsedq最新更新时间:2015-09-28 来源: eefocus关键字:keil  常见错误  解决方法 手机看文章 扫描二维码
随时随地手机看文章
1. Warning 280:’i’:unreferenced local variable

说明局部变量i 在函数中未作任何的存取操作。

解决方法消除函数中i 变量的宣告。

2. Warning 206:’Music3’:missing function-prototype

说明Music3( )函数未作宣告或未作外部宣告所以无法给其他函数调用。

解决方法将叙述void Music3(void)写在程序的最前端作宣告如果是其他文件的函数则要写成extern void Music3(void),即作外部宣告。

3. Compling :C:8051MANN.C

Error:318:can’t open file ‘beep.h’

说明在编译C:8051MANN.C 程序过程中由于main.c 用了指令#include “beep.h”,但却找不到所致。

解决方法编写一个beep.h 的包含档并存入到c:8051 的工作目录中。

4. Compling:C:8051LED.C

Error 237:’LedOn’:function already has a body

说明LedOn( )函数名称重复定义即有两个以上一样的函数名称。

解决方法修正其中的一个函数名称使得函数名称都是独立的。

5. ***WARNING 16:UNCALLED SEGMENT,IGNORED FOR OVERLAY PROCESS

SEGMENT: ?PR?_DELAYX1MS?DELAY

说明DelayX1ms( )函数未被其它函数调用也会占用程序记忆体空间。

解决方法去掉DelayX1ms( )函数或利用条件编译#if …..#endif,可保留该函数并不编译。

6. ***WARNING 6 :XDATA SPACE MEMORY OVERLAP

FROM : 0025H

TO: 0025H

说明外部资料ROM 的0025H 重复定义地址

解决方法外部资料ROM 的定义如下

Pdata unsigned char XFR_ADC _at_0x25 其中XFR_ADC 变量的名称为0x25,请检查是

否有其它的变量名称也是定义在0x25 处并修正它

7 .WARNING 206:’DelayX1ms’: missing function-prototype

C:8051INPUT.C

Error 267 :’DelayX1ms ‘:requires ANSI-style prototype C:8051INPUT.C

说明程序中有调用DelayX1ms 函数但该函数没定义即未编写程序内容或函数

已定义但未作宣告。

解决方法编写DelayX1ms 的内容编写完后也要作宣告或作外部宣告可在delay.h

的包含档宣告成外部以便其它函数调用。

8. ***WARNING 1:UNRESOLVED EXTERNAL SYMBOL

SYMBOL:MUSIC3

MODULE:C:8051MUSIC.OBJ(MUSIC)

***WARNING 2:REFERENCE MADE TO UNRESOLVED EXTERNAL

SYMBOL:MUSIC3

MODULE:C:8051MUSIC.OBJ(MUSIC)

ADDRESS:0018H

说明程序中有调用MUSIC 函数但未将该函数的含扩档C 加入到工程档

Prj 作编译和连接。

解决方法设MUSIC3 函数在MUSIC C 里将MUSIC C 添加到工程文件中去。

9 .***ERROR 107:ADDESS SPACE OVERFLOW

SPACE: DATA

SEGMENT: _DATA_GOUP_

LENGTH: 0018H

***ERROR 118: REFERENCE MADE TO ERRONEOUS EXTERNAL

SYMBOL: VOLUME

MODULE: C:8051OSDM.OBJ (OSDM)

ADDRESS: 4036H

说明data 存储空间的地址范围为0~0x7f,当公用变量数目和函数里的局部变量如果存

储模式设为SMALL 则局部变量先使用工作寄存器R2~R7 作暂存当存储器不够用时则会

以data 型别的空间作暂存的个数超过0x7f 时就会出现地址不够的现象

解决方法将以data 型别定义的公共变量修改为idata 型别的定义

关键字:keil  常见错误  解决方法 引用地址:keil常见错误和解决方法

上一篇:堆栈入门——堆和栈区别
下一篇:单片机累加器A与ACC区别

推荐阅读最新更新时间:2024-03-16 14:33

手机TFT显示驱动的解决方法和应用方法
当今的手机功能越来越趋于多样化,已经不再仅仅是一种简单的通信工具。人们在消费电子市场上选购手机时很容易就能找到一款带有QVGA TFT-LCD显示屏和200万象素数码相机的智能手机。一部手机可能又同时是 MP3、 DSC、 PDA和 PMP,甚至是便携式电视。要支持这么多功能,手机显示屏的作用不容小视。 要开发用于手机的增强型显示屏,需要解决两个主要问题。首先要提高显示单元的响应速度和显示效果从而支持视频业务。这也是大多数手机显示屏选用TFT-LCD的原因,就是利用其更快的响应速度和更好的显示质量。其次,显示单元和手机系统电路之间的通信连接也很关键,关系到整个显示系统的总体效率和质量。 为了满足这些需求,市场上出现了一系列具有较
[应用]
STM32 IAR工程->Keil MDK转换详解
我在STM32的学习中发现,大部分的STM32示例程序都是基于IAR开发环境的,但我认为使用Keil MDK开发环境更加方便,可以利用RVMDK强大的外设仿真功能加速STM32的开发。我在以前的Blog文章里介绍过如何在RVMDK中建立STM32 工程,以及如何使用RVMDK的软件仿真功能,下面我将详细说明怎样将已有的IAR工程移植到RVMDK。 不管是IAR还是RVMDK,编程时使用的都是STM32的固件函数库,唯一不同的是启动文件。RVMDK在建立STM32工程时会自动创建启动文件 STM32F10x.s,而IAR使用的启动文件是cortexm3_macro.s。此外,两者对中断向量表的管理也不一样。
[单片机]
STM32 IAR工程-><font color='red'>Keil</font> MDK转换详解
keil C 编译中遇到的问题
次编译过程中遇到的两个警告 第1个警报 是 函数uart_int 没有被调用,但是实际上我已经调用了!问题出在,调用该函数的时候,我居然也加上了返回值类型void。删除掉该 void。问题解决!这种格式类似于函数声明了,于是就报警。但是不影响程序运行! 第2个警报是 有外部变量不能被解析!我就把数组REV_BUF的元素个数给设置为需要的6. 即第8行 为uchar rev_buf ; 解决
[单片机]
keil 使用教程 编写第一个led灯程序
1、新建一个空文件夹 2、 打开 keil -- new uVision project 3、选择目录,命名文件 4、选择芯片 5、添加文件 6、编写 C51 单片机程序 根据自己画的电路图,确认引脚 我们这里写一个点亮一个led 灯的程序 p0.0 引脚 7、生成 可以加载单片机 里的 hex 文件 8、编译生成hex文件 9、将hex 文件导入单片机 打开 proteus ,双击 单片机
[单片机]
<font color='red'>keil</font> 使用教程 编写第一个led灯程序
一种 keil5 锁一种 keil5 锁死 STM32F103C8T6的
先前 画的一款 电机驱动板, 今天总算有时间调试了,,, 效果如上, 实验室里面的洗板水用没了。。。。 没有办法收拾的干净了, LED 没了。。。 接线端子 开关也没了。。。 条件很艰苦 进入 正题 , 上图主控是 STM32F103C8T6 就是网上卖的最便宜的那种。出现的问题时 keil 下载不进去程序。提示是这样玩的 我先用j-link 自带的工具j-flash 进行了测试 确定了 芯片是可以通讯 并且可以进行 hex文件的烧录的。 这样定位问题应该是keil 的配置出了问题。 keil 也不是一直出问题。 某一次 也是可以下载的。 经过多次尝试,我发现 当我用 j-flash 擦除芯片 并且解锁 unsec
[单片机]
一种 <font color='red'>keil</font>5 锁一种 <font color='red'>keil</font>5 锁死 STM32F103C8T6的
STM32串口一直进中断解决方法
今天在使用USART模块,遇到了一些问题并解决了,于是发贴共享。 问题描述: 在使用USART做串口通讯时,我只把接收中断打开,并设置抢占优先级为最低一个级别,而接收中断上一个优先级处理事情比较多,可能占用了2ms时间。当我使用9600波特率往下位机发送数据,速度非常快,就是一直按回车发!问题就出来,不到1分钟时间,通讯没有反应了。USART配置代码如下: void uart_config(void) { USART_InitTypeDef USART_InitStructure; USART_InitStructure.USART_BaudRate = UART_GetBaud(BaudRate);
[单片机]
STM32串口一直进中断<font color='red'>解决方法</font>
如何让 keil MDK v5 支持 ARM7/9 设备
最近有位同事接私活时遇到一个问题,用 Keil-5 可以打开甲方给的工程,但是仿真和下载出错。 根据报的错误,找到了问题,原来是 Keil 5 不支持 LPC2368 这款设备。如下图: 打开 pack installer 也没有找到 LPC2000 系列的单片机。如下图: 最后去官网溜达了一圈,在 MDK5 Device List 中找到了原因。第二段话说的就是: For maintaining existing MDK Version 4 projects, or using devices that are not yet supported by a Software Pack, please install Le
[单片机]
如何让 <font color='red'>keil</font> MDK v5 支持 ARM7/9 设备
Keil5安装教程(包含C51与MDK共存)WIN10 亲测可用
系统环境:WIN10 ,亲测可用。安装遇到问题的小伙伴欢迎骚扰我的个人公众号。 做为一个底层硬件小苦逼,经常需要用到stm32和51单片机,于是在keil for C51和mdk中来回换编译器,换来换去真是是人令人窒息。 所以今天就给大家带来了KEIL5编译环境的c51和MDK共存的教程。同时提供了STM32的pack,从f0到f4,以及低功耗的L系列,离线安装方便快捷。 02 安装教程 下载完成后,可以下图几个文件,首先进行c51的安装,双击C51V954.exe。 如果弹出警告窗口选择“是”。 点击NEXT 勾选 I agree to all thems of........ 点击Next
[单片机]
<font color='red'>Keil</font>5安装教程(包含C51与MDK共存)WIN10 亲测可用
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved