找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 28026|回复: 22
收起左侧

keil编译错误error C247: non-address/-constant initializer这个问题怎么解决?

  [复制链接]
回帖奖励 30 黑币 回复本帖可获得 10 黑币奖励! 每人限 1 次
ID:516977 发表于 2019-4-24 22:19 | 显示全部楼层 |阅读模式
#include<reg51.h>   
#include<intrins.h>
#define  GPIO_LED P0
#define  GPIO_KEY P1
sbitK1=P1^0;
sbitK2=P1^1;
sbitK3=P1^2;
sbitK4=P1^3;
sbitK5=P1^4;
char  KeyNum;
unsigned uchar state;
unsigned uchar change_state;
voidDelay10ms(unsigned int c);
~

然后显示有问题

compiling lsd6.c...
LSD6.C(5): error C247: non-address/-constant initializer
LSD6.C(6): error C247: non-address/-constant initializer
LSD6.C(7): error C247: non-address/-constant initializer
LSD6.C(8): error C247: non-address/-constant initializer
LSD6.C(9): error C247: non-address/-constant initializer
LSD6.C(11): error C129: missing ';' before 'state'
回复

使用道具 举报

ID:164602 发表于 2019-4-25 08:15 | 显示全部楼层
抄的程序吧
前五个错误一样,就是少了一个空格而已:sbit  k1=P1^0;
第六个错误还是规则问题,虽然说的是分号丢失,应该unsigned uchar;,但考虑到这语句的用途,是定义一个变量,所以应该这样写:unsigned char state;,多写了一个u
回复

使用道具 举报

ID:449525 发表于 2019-4-25 08:19 | 显示全部楼层
你的voidDelay10ms(unsigned int c);
void 后面加个空格
回复

使用道具 举报

ID:516977 发表于 2019-4-25 12:16 | 显示全部楼层
HC6800-ES-V2.0 发表于 2019-4-25 08:15
抄的程序吧
前五个错误一样,就是少了一个空格而已:sbit  k1=P1^0;
第六个错误还是规则问题,虽然说的是 ...

谢谢
回复

使用道具 举报

ID:516977 发表于 2019-4-25 12:17 | 显示全部楼层
周超然 发表于 2019-4-25 08:19
你的voidDelay10ms(unsigned int c);
void 后面加个空格

谢谢!
回复

使用道具 举报

ID:416287 发表于 2019-4-25 15:14 | 显示全部楼层
每个sbit  后面都要加空格在写 k1 k2 k3 k4   还有就是unsigned char 就是uchar    这个unsigned uchar就是不对了  应该是unsigned char
回复

使用道具 举报

ID:516977 发表于 2019-4-25 18:51 | 显示全部楼层
奋斗的小白熊 发表于 2019-4-25 15:14
每个sbit  后面都要加空格在写 k1 k2 k3 k4   还有就是unsigned char 就是uchar    这个unsigned uchar就是 ...

xiexie
回复

使用道具 举报

ID:49198 发表于 2019-7-4 16:24 | 显示全部楼层
sbitK1=P1^0; sbitK2=P1^1; sbitK3=P1^2; sbitK4=P1^3; sbitK5=P1^4;这个都少一个空格,unsigned uchar state; unsigned uchar change_state;这个应该是unsigned char state; unsigned char change_state;
回复

使用道具 举报

ID:524818 发表于 2019-7-4 18:27 | 显示全部楼层
如果是复制的教材中的程序,请仔细对照一下,初学者(包括我)最容易犯一些小错误,比如空格 分号等等,都是这样过来的
回复

使用道具 举报

ID:71883 发表于 2019-7-5 16:50 | 显示全部楼层
新手经常出现的问题。
回复

使用道具 举报

ID:582077 发表于 2019-7-11 10:04 | 显示全部楼层
sbitK1=P1^0;
sbitK2=P1^1;
sbitK3=P1^2;
sbitK4=P1^3;
sbitK5=P1^4;
少空格
sbit K1=P1^0;
sbit K2=P1^1;
sbit K3=P1^2;
sbit K4=P1^3;
sbit K5=P1^4;
unsigned uchar state;
unsigned uchar change_state;
多了u,本来是这么用的:#define uchar unsigned char(uchar代替uchar unsigned,你重复了 )
voidDelay10ms(unsigned int c);
少空格void Delay10ms(unsigned int c);
回复

使用道具 举报

ID:826942 发表于 2020-11-10 21:00 | 显示全部楼层
key_table code table[30]=
{
        {0,3,1,4,(*fun1)},//第一层,显示【清华大学】、北京大学、重庆三峡学院、返回
         {1,0,2,8,(*fun2)},//第一层,显示清华大学、【北京大学】、重庆三峡学院、返回

User\1602test.c(23): error C247: non-address/-constant initializer
我也出现这个错误不知道什么原因
回复

使用道具 举报

ID:841708 发表于 2020-11-12 00:47 | 显示全部楼层

#include<reg51.h>   
#include<intrins.h>
#define  GPIO_LED P0
#define  GPIO_KEY P1
sbitK1=P1^0;
sbitK2=P1^1;
sbitK3=P1^2;
sbitK4=P1^3;
sbitK5=P1^4;
char  KeyNum;
uchar state;
uchar change_state;
void Delay10ms(unsigned int c);
~

这样写应该就可以了,non-address明显就是打错了
回复

使用道具 举报

ID:1027376 发表于 2022-5-21 20:29 | 显示全部楼层
我编译的时候也遇到同样的问题哎,有大佬给出解释吗
回复

使用道具 举报

ID:1030839 发表于 2022-5-30 13:38 | 显示全部楼层
少空格void Delay10ms(unsigned int c);
回复

使用道具 举报

ID:372579 发表于 2022-5-31 12:41 | 显示全部楼层
这个可以学习不少好东西,综合以上
回复

使用道具 举报

ID:1031458 发表于 2022-6-1 11:21 | 显示全部楼层
不一定速度快了就好,选择比较合适的,也就是在保证允许精度的情况下,尽量调快速度
回复

使用道具 举报

ID:1026496 发表于 2022-6-2 22:50 | 显示全部楼层
sbitK1=P1^0; sbitK2=P1^1; sbitK3=P1^2; sbitK4=P1^3; sbitK5=P1^4; 这些少 sbit 和变量名之间需要有一个空格
回复

使用道具 举报

ID:965189 发表于 2022-6-3 11:36 | 显示全部楼层
少空格的定义,证明不是复制上去的,是打出来的。遇到过的问题,记得更牢。
回复

使用道具 举报

ID:1055335 发表于 2023-3-28 18:43 | 显示全部楼层
没加空格
回复

使用道具 举报

ID:372579 发表于 2023-3-29 16:30 | 显示全部楼层
这说明编写程序一定要严谨
回复

使用道具 举报

ID:799053 发表于 2023-4-3 10:03 | 显示全部楼层
每个sbit  后面都要加空格  unsigned char 就是uchar   unsigned uchar是不对的
回复

使用道具 举报

ID:180919 发表于 2023-4-3 13:25 | 显示全部楼层
sbit K1=P1^0;
sbit K2=P1^1;
sbit K3=P1^2;
sbit K4=P1^3;
sbit K5=P1^4;

uchar state;
uchar change_state;
void Delay10ms(uint c);
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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