找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 32189|回復(fù): 23
打印 上一主題 下一主題
收起左側(cè)

keil編譯錯(cuò)誤error C247: non-address/-constant initializer這個(gè)問題怎么解決?

  [復(fù)制鏈接]
回帖獎(jiǎng)勵(lì) 30 黑幣 回復(fù)本帖可獲得 10 黑幣獎(jiǎng)勵(lì)! 每人限 1 次
跳轉(zhuǎn)到指定樓層
樓主
ID:516977 發(fā)表于 2019-4-24 22:19 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#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'
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:164602 發(fā)表于 2019-4-25 08:15 | 只看該作者
抄的程序吧
前五個(gè)錯(cuò)誤一樣,就是少了一個(gè)空格而已:sbit  k1=P1^0;
第六個(gè)錯(cuò)誤還是規(guī)則問題,雖然說的是分號(hào)丟失,應(yīng)該unsigned uchar;,但考慮到這語句的用途,是定義一個(gè)變量,所以應(yīng)該這樣寫:unsigned char state;,多寫了一個(gè)u
回復(fù)

使用道具 舉報(bào)

板凳
ID:449525 發(fā)表于 2019-4-25 08:19 | 只看該作者
你的voidDelay10ms(unsigned int c);
void 后面加個(gè)空格
回復(fù)

使用道具 舉報(bào)

地板
ID:516977 發(fā)表于 2019-4-25 12:16 | 只看該作者
HC6800-ES-V2.0 發(fā)表于 2019-4-25 08:15
抄的程序吧
前五個(gè)錯(cuò)誤一樣,就是少了一個(gè)空格而已:sbit  k1=P1^0;
第六個(gè)錯(cuò)誤還是規(guī)則問題,雖然說的是 ...

謝謝
回復(fù)

使用道具 舉報(bào)

5#
ID:516977 發(fā)表于 2019-4-25 12:17 | 只看該作者
周超然 發(fā)表于 2019-4-25 08:19
你的voidDelay10ms(unsigned int c);
void 后面加個(gè)空格

謝謝!
回復(fù)

使用道具 舉報(bào)

6#
ID:416287 發(fā)表于 2019-4-25 15:14 | 只看該作者
每個(gè)sbit  后面都要加空格在寫 k1 k2 k3 k4   還有就是unsigned char 就是uchar    這個(gè)unsigned uchar就是不對(duì)了  應(yīng)該是unsigned char
回復(fù)

使用道具 舉報(bào)

7#
ID:516977 發(fā)表于 2019-4-25 18:51 | 只看該作者
奮斗的小白熊 發(fā)表于 2019-4-25 15:14
每個(gè)sbit  后面都要加空格在寫 k1 k2 k3 k4   還有就是unsigned char 就是uchar    這個(gè)unsigned uchar就是 ...

xiexie
回復(fù)

使用道具 舉報(bào)

8#
ID:49198 發(fā)表于 2019-7-4 16:24 | 只看該作者
sbitK1=P1^0; sbitK2=P1^1; sbitK3=P1^2; sbitK4=P1^3; sbitK5=P1^4;這個(gè)都少一個(gè)空格,unsigned uchar state; unsigned uchar change_state;這個(gè)應(yīng)該是unsigned char state; unsigned char change_state;
回復(fù)

使用道具 舉報(bào)

9#
ID:524818 發(fā)表于 2019-7-4 18:27 | 只看該作者
如果是復(fù)制的教材中的程序,請(qǐng)仔細(xì)對(duì)照一下,初學(xué)者(包括我)最容易犯一些小錯(cuò)誤,比如空格 分號(hào)等等,都是這樣過來的
回復(fù)

使用道具 舉報(bào)

10#
ID:71883 發(fā)表于 2019-7-5 16:50 | 只看該作者
新手經(jīng)常出現(xiàn)的問題。
回復(fù)

使用道具 舉報(bào)

11#
ID:582077 發(fā)表于 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,你重復(fù)了 )
voidDelay10ms(unsigned int c);
少空格void Delay10ms(unsigned int c);
回復(fù)

使用道具 舉報(bào)

12#
ID:826942 發(fā)表于 2020-11-10 21:00 | 只看該作者
key_table code table[30]=
{
        {0,3,1,4,(*fun1)},//第一層,顯示【清華大學(xué)】、北京大學(xué)、重慶三峽學(xué)院、返回
         {1,0,2,8,(*fun2)},//第一層,顯示清華大學(xué)、【北京大學(xué)】、重慶三峽學(xué)院、返回

User\1602test.c(23): error C247: non-address/-constant initializer
我也出現(xiàn)這個(gè)錯(cuò)誤不知道什么原因
回復(fù)

使用道具 舉報(bào)

13#
ID:841708 發(fā)表于 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);
~

這樣寫應(yīng)該就可以了,non-address明顯就是打錯(cuò)了
回復(fù)

使用道具 舉報(bào)

14#
ID:1027376 發(fā)表于 2022-5-21 20:29 | 只看該作者
我編譯的時(shí)候也遇到同樣的問題哎,有大佬給出解釋嗎
回復(fù)

使用道具 舉報(bào)

15#
ID:1030839 發(fā)表于 2022-5-30 13:38 | 只看該作者
少空格void Delay10ms(unsigned int c);
回復(fù)

使用道具 舉報(bào)

16#
ID:372579 發(fā)表于 2022-5-31 12:41 | 只看該作者
這個(gè)可以學(xué)習(xí)不少好東西,綜合以上
回復(fù)

使用道具 舉報(bào)

17#
ID:1031458 發(fā)表于 2022-6-1 11:21 | 只看該作者
不一定速度快了就好,選擇比較合適的,也就是在保證允許精度的情況下,盡量調(diào)快速度
回復(fù)

使用道具 舉報(bào)

18#
ID:1026496 發(fā)表于 2022-6-2 22:50 | 只看該作者
sbitK1=P1^0; sbitK2=P1^1; sbitK3=P1^2; sbitK4=P1^3; sbitK5=P1^4; 這些少 sbit 和變量名之間需要有一個(gè)空格
回復(fù)

使用道具 舉報(bào)

19#
ID:965189 發(fā)表于 2022-6-3 11:36 | 只看該作者
少空格的定義,證明不是復(fù)制上去的,是打出來的。遇到過的問題,記得更牢。
回復(fù)

使用道具 舉報(bào)

20#
ID:1055335 發(fā)表于 2023-3-28 18:43 | 只看該作者
沒加空格
回復(fù)

使用道具 舉報(bào)

21#
ID:372579 發(fā)表于 2023-3-29 16:30 | 只看該作者
這說明編寫程序一定要嚴(yán)謹(jǐn)
回復(fù)

使用道具 舉報(bào)

22#
ID:799053 發(fā)表于 2023-4-3 10:03 | 只看該作者
每個(gè)sbit  后面都要加空格  unsigned char 就是uchar   unsigned uchar是不對(duì)的
回復(fù)

使用道具 舉報(bào)

23#
ID:180919 發(fā)表于 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);
回復(fù)

使用道具 舉報(bào)

24#
ID:1143076 發(fā)表于 2025-4-17 16:25 | 只看該作者
沒空格
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表