社区
单片机/工控
帖子详情
keil c编译遇到问题!
submind
2006-10-18 09:08:08
我是c菜鸟,也是keil菜鸟-__- 前两天在用keil编了一个c程序以后,只要一编译就出现“C51/ CX51 Compiler 遇到问题需要关闭。”的字样,在网上搜索了几天都没发现解决方法,不知道版上有没有人遇到过同样的问题,可能的原因有哪些呢?
谢谢大家了
...全文
465
11
打赏
收藏
keil c编译遇到问题!
我是c菜鸟,也是keil菜鸟-__- 前两天在用keil编了一个c程序以后,只要一编译就出现“C51/ CX51 Compiler 遇到问题需要关闭。”的字样,在网上搜索了几天都没发现解决方法,不知道版上有没有人遇到过同样的问题,可能的原因有哪些呢? 谢谢大家了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Great_Bug
2006-11-03
打赏
举报
回复
二维数组是否会有问题?
dylqhjimmy
2006-10-27
打赏
举报
回复
好像我没有看到
philips 8xc51rd2
的头文件。
submind
2006-10-18
打赏
举报
回复
philips 8xc51rd2
晕 还是出现那个错误,还是不知道怎么解决,有人说是我程序的问题,我把程序贴一下,请哪个好心人看看是什么错:
#include <time.h>
#include <ctype.h>
#include <string.h>
#include <stdio.h>
#include "lcd.h"
#define LINUX_OS
#ifndef null
#define null 0
#endif
#define UP
#define DOWN
#define LEFT
#define RIGHT
#define BACKSPACE
#define CONFIRM
#define CHANGEMODE
//纵向像素数
#ifndef V_PIX_LENGTH
#define V_PIX_LENGTH
#endif
//横向
#ifndef H_PIX_LENGTH
#define H_PIX_LENGTH
#endif
//每行的字符数(列数)
#ifndef CHARSPERROW
#define CHARSPERROW (H_PIX_LENGTH/8)
#endif
//行数
#ifndef ROWS
#define ROWS (V_PIX_LENGTH/16)
#endif
//是否西文字符
#define ISEASTERNWORD(x) (((x)&0xf0)==0?1:0)
//定义位置常数
#define MODE_POS (unsigned char(2&0x0f))
#define OUTPUT_POS (unsigned char(1<<4))
#define CHINESE_POS (unsigned char((V_PIX_LENGTH/16-1)<<4|0x01))
#define PY_POS (unsigned char((V_PIX_LENGTH/8-4)<<4|(H_PIX_LENGTH/8-7)))/*拼音是8*8的字符*/
#define UP_ARROW_POS (unsigned char((V_PIX_LENGTH/8-4)<<4|(H_PIX_LENGTH/8-1)))
#define DOWN_ARROW_POS (unsigned char((V_PIX_LENGTH/8-3)<<4|(H_PIX_LENGTH/8-1)))
#define LEFT_ARROW_POS (unsigned char((V_PIX_LENGTH/8-1)<<4 | (0)))
#define RIGHT_ARROW_POS (unsigned char((V_PIX_LENGTH/8-2)<<4 | (0)))
#define UD_ARROWS_POS ((V_PIX_LENGTH/16-2)<<4 | H_PIX_LENGTH-1)
#define LR_ARROWS_POS (CHINESE_POS-1)
#ifndef MODE_TYPE
#define MODE_TYPE
enum MODE {CHINESEMODE,UPPERMODE,LOWERMODE,DIGITALMODE};
#endif
#ifdef LINUX_OS
#define CURRENTTIME(curtime) (gettimeofday(&(curtiem),0))
#else
#define CURRENTTIME(curtime) ()
#endif
#ifndef LINK_STRUCT
#define LINK_STRUCT
typedef struct tagLink{
unsigned int data;
struct tagLink* pre,*next;
}Link;
#endif
unsigned char DigitalChar[][4]={
{'a','b','c'},
{'d','e','f'},
{'g','h','i'},
{'j','k','l'},
{'m','n','o'},
{'p','q','r','s'},
{'t','u','v'},
{'w','x','y','z'}
};
MODE CurrentMode=0;//当前模式
unsigned char cInput=0;//当前输入字符
unsigned char Input_String[10];//累计输入字符串
unsigned char Input_String_Length=0;//累计输入字符串长度
unsigned char* PY_String=null;//查表得到拼音串
unsigned char* Option_PY[4]={null}; //分离后得到的拼音单字
unsigned char iOption_PY_CurrentPos=0;//the position of the selected PY
unsigned char iOption_PY_Length=0; // 拼音单字个数
unsigned char* Option_Chinese=null; //Chinese character string
unsigned char iOption_Chinese_CurrentPos=0;
unsigned char iOption_Chinese_Length=0;//length of the Chinese string
unsigned char iOption_Chinese_LeftPos=0;
unsigned char iOption_Chinese_RightPos=0;
struct Link* Output_String=null;//the string show in the screen
unsigned char iOutput_String_Length=0;
unsigned char iOutput_String_CurrentPos=0;
Link* pOutput_String_CurrentNode=null;
Link* pStart=null,*pEnd=null;//用来标示显示的字符串,pStart为开始,pEnd为结束
unsigned char nCurLength;//当前由pStart和pEnd指向的字符串长
unsigned char nOutputPos=OUTPUT_POS;
extern void gotoxy(unsigned char xy);
extern unsigned char cursor(unsigned char f);
extern void dis_ch(unsigned int ch,unsigned char xy,unsigned char mode);
extern void dis_str(unsigned char* str, unsigned char xy);
extern void dis_8str(unsigned char* str,unsigned char xy);
extern void right_scroll(unsigned char xy,unsigned char xy1,unsigned int ch);
extern void clr_scr(unsigned char xy,unsigned char xy1);
extern char *getpy(char *src,unsigned char len);
extern char * py_ime(char *strInput_py_str);
void ShowLeftArrow(unsigned char flag);
void ShowRightArrow(unsigned char flag);
void ShowUpArrow(unsigned char flag);
void ShowDownArrow(unsigned char flag);
void ShowPY(char ** PY_String,unsigned char length);
void ShowChinese(unsigned char* Option_Chinese_String);
void ShowOutput();
void ShowMode(unsigned char nMode);
void apartPYString(char* PY_String,unsigned char length);
void Output_String_MoveLeft();
void Output_String_MoveRight();
void Output_String_Delete();
void Output_String_Add(unsigned int word);
void Output_String_Replace(unsigned int word);
void clearOutput();//清除已输入信息
void clearPY();//清除拼音栏
void clearChinese();//清除汉字栏
void initEnvironment();//初始化
void clearEnvironment();//保留已输入内容,删除其他内容,清屏
void clearScreen();
void cursorMoveRight(unsigned char flag);
void cursorMoveLeft(unsigned char flag);
然后就是main函数了,原程序太长,有1000多行,我先贴这些 大家有没有想法啊?
头痛死了:(
lbing7
2006-10-18
打赏
举报
回复
不知道具体型号就选通用的,反正指令集是一致的!
submind
2006-10-18
打赏
举报
回复
仿真器的配置文件是什么?安装完了能加吗?我建立工程的时候有选择一个芯片的种类,因为不是我装的我也不知道加了配置文件没有啊
dylqhjimmy
2006-10-18
打赏
举报
回复
你的就是楼上那个版本啦。
你再安装的时候有没有加你使用的仿真器的配置文件呀??
lbing7
2006-10-18
打赏
举报
回复
uVision2 只是一个界面.
submind
2006-10-18
打赏
举报
回复
我这个是什么uVision2 是什么版本阿?我是个菜鸟:(
lbing7
2006-10-18
打赏
举报
回复
我在XP,2000,98下都用7.08版
没出过问题哈!!
submind
2006-10-18
打赏
举报
回复
to lbing7:
您能推荐一个版本吗?
lbing7
2006-10-18
打赏
举报
回复
和系统的兼容性问题?
换一个版本看看?
KEIL
常见
编译
错误大全
KEIL
常见
编译
错误大全 详述了新手
keil
使用过程中
遇到
的
问题
解决方法
mdk
keil
5 每次重启或者
编译
显示save changes to xxx.c.rar
mdk
keil
软件--单片机开发
遇到
的
问题
...
解决
keil
不认识“数”字的办法(原创)
解决
keil
不认识“数”字的办法 在使用
keil
8.02版
编译
程序时,发现
keil
竟然不认识汉字“数”这个字,“数”字的内码是“CAFD”而
keil
编译
成“CA”,可想而知,后面的都变成乱码了。 TAB0: DB "请输入: " TAB1: DB "源数据地址 " TAB2: DB "目的地址 " TAB3: DB "数据长度 "
编译
成: 00EC 259 TAB0: 00EC C7EBCAE4 260 DB "请输入: " 00F0 C8EBA3BA 00F4 20202020 00F8 20202020 00FC 261 TAB1: 00FC D4B4CABE 262 DB "源示莸刂? " 0100 DDB5D8D6 0104 B7202020 0108 202020 010B 263 TAB2: 010B C4BFB5C4 264 DB "目的地址 " 010F B5D8D6B7 0113 20202020 0117 20202020 011B 265 TAB3: 011B CABEDDB3 266 DB "示莩ざ? " 011F A4B6C820 0123 20202020 0127 202020 无奈之下改成如下的方式: TAB0: DB "请输入: " TAB1: DB "源",0CAH,0FDH,"据地址 " TAB2: DB "目的地址 " TAB3: DB 0CAH,0FDH,"据长度 "
编译
的结果: 00EC C7EBCAE4 260 DB "请输入: " 00F0 C8EBA3BA 00F4 20202020 00F8 20202020 00FC 261 TAB1: 00FC D4B4CAFD 262 DB "源",0CAH,0FDH,"据地址 " 0100 BEDDB5D8 0104 D6B72020 0108 20202020 010C 263 TAB2: 010C C4BFB5C4 264 DB "目的地址 " 0110 B5D8D6B7 0114 20202020 0118 20202020 011C 265 TAB3: 011C CAFDBEDD 266 DB 0CAH,0FDH,"据长度 " 0120 B3A4B6C8 0124 20202020 0128 20202020
问题
是解决了,但是总感觉这个办法有点太笨了点,不知道各位高手有什么高招? 另外,是不是还有其他类似的
keil
不认识的汉字?不知各位
遇到
过没有?怎么解决的? 本文来自: 电子工程师之家http://www.eehome.cn
KEIL
C51代码优化详细分析
在实际工作中
遇到
对同一端口反复连续读取,
Keil
C51
编译
并未达到预期的结果。对C
编译
出来的汇编程序进行分析发现,对同一端口的第二次读取语句并未被
编译
。本文中该
问题
,提出了三种不同于原文的解决方法。每种方法都比较直接和简单,设计也更规范。
dais集成开发环境
学习单片机之初最先
遇到
的
问题
就是不知道怎样把程序生成hex文件。常用的
keil
demo版使用起来设置比较复杂,为此向大家介绍一款dais开发环境软件。该软件全中文界面,可以实现
编译
,软件仿真一体化。 并且程序支持汇编/C混合调试, 中文注释,全兼容于WINDOWS98/2000/XP操作体统。 初学者利用他来进行
编译
软件生成hex文件学习和软件仿真,修改一些小程序很实用。 dais ,好用的集成开发环境 学习单片机的朋友可以学习使用该dais软件
编译
与软仿真功能。 学习单片机之初最先
遇到
的
问题
就是不知道怎样把程序生成 hex 文件。常用的
keil
demo 版使用起来设置比较复杂,而 dais开发环境软件,全中文界面,可以实现
编译
,软件仿真一体化。 并且程序支持汇编/C 混合调试, 中文注释,全兼容于 WINDOWS98/2000/XP 操作体统。学习单片机之初,我们最先
遇到
的
问题
往往是不知道怎样把程序生成hex文件。常用的
Keil
demo版使用起来设置比较复杂,并且有2K代码的限制。笔者向大家介绍一款dais开发环境软件。该软件为全中文界面,可以实现
编译
、硬件仿真、软件仿真一体化,并且程序支持汇编,C混合调试
单片机/工控
27,374
社区成员
28,770
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章