keil c语言已经定义变量老是提示没定义
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keil c语言已经定义变量老是提示没定义相关的知识,希望对你有一定的参考价值。
#include<reg52.h>
#include<intrins.h>
#include"delay.h"
#define int code a[]=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00
sbit Dp=P0^3; //1= 7f;2= bf;3=df;4=ef;5=f7;6=fb;7=fd;8=fe
sbit Mc1=P2^5;
sbit Mc2=P2^7;
void main()
P0=0xff;
Mc1=0;
Mc2=0;
ACC=0x7f;
int i=0;
while(1)
for(i=i;i>i+8;i++)
Mc1=1;
P0=a[i];
Mc1=0;
Mc2=1;
P0=ACC;
ACC=P0;
ACC=_cror_(ACC,1);
Mc2=0;
if(i>9)
i-=9;
错误的地方太多了。首先上面这句的#define去掉。
其次在keil里面声明语句必须在所有赋值语句之前,想这句
int i=0;必须放到main函数的第一句。
其它的有没有还没有细看。
参考技术A //你对int进行了宏定义,这里你想做什么呢?#define int code a[]=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00
....
int i = 0;
/// 上句因为你对int进行了宏定义,这句被替换成:
/// code a[]=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00 i = 0;
/// 造成语法错误
.... 参考技术B 应该是少了一个花括号(“”),在最后位置 参考技术C int i=0;
while(1)
for(i=i;i>i+8;i++)
这部分有问题,把 i 赋值给 i 不对。 参考技术D for(i=i;i>i+8;i++)
i等于i了,这么粗心啊。
以上是关于keil c语言已经定义变量老是提示没定义的主要内容,如果未能解决你的问题,请参考以下文章