打印

请高手帮我改下这个小程序,现在老是提示未定义。谢谢了

[复制链接]
5313|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gougou645|  楼主 | 2009-9-21 20:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>
#define unit unsigned int
sbit gate1=p2^0;
sbit gate2=p2^1;
sbit gate3=p2^2;
sbit gate4=p2^3;
void main(void)
{
  unit i,j;
  while(1)
  {
    for(i=1000;i>0;i++)
for(j=1000;j>0;j++);
gate1=!gate1;
gate2=!gate2;
gate3=!gate3;
gate4=!gate4;
   }
}

相关帖子

沙发
gougou645|  楼主 | 2009-9-21 21:14 | 只看该作者
compiling Text1.c...
TEXT1.C(3): error C202: 'p2': undefined identifier
TEXT1.C(4): error C202: 'p2': undefined identifier
TEXT1.C(5): error C202: 'p2': undefined identifier
TEXT1.C(6): error C202: 'p2': undefined identifier
TEXT1.C(14): error C202: 'gate1': undefined identifier
TEXT1.C(15): error C202: 'gate2': undefined identifier
TEXT1.C(16): error C202: 'gate3': undefined identifier
TEXT1.C(17): error C202: 'gate4': undefined identifier
Text1.c - 8 Error(s), 0 Warning(s).

使用特权

评论回复
板凳
gougou645|  楼主 | 2009-9-21 21:14 | 只看该作者
#include<reg51.h>
#define unit unsigned int
uint p2^0,p2^1,p2^2,p2^3;
sbit gate1=p2^0;
sbit gate2=p2^1;
sbit gate3=p2^2;
sbit gate4=p2^3;
void main(void)
{
  unit i,j;
  while(1)
  {
    for(i=1000;i>0;i++)
        for(j=1000;j>0;j++);
        gate1=!gate1;
        gate2=!gate2;
        gate3=!gate3;
        gate4=!gate4;
   }
}

使用特权

评论回复
地板
gougou645|  楼主 | 2009-9-21 21:14 | 只看该作者
compiling Text1.c...
TEXT1.C(3): error C129: missing ';' before 'p2'
Text1.c - 1 Error(s), 0 Warning(s).

使用特权

评论回复
5
gougou645|  楼主 | 2009-9-21 21:40 | 只看该作者
怎么没有高手出手啊 都别老看不吱声啊

使用特权

评论回复
6
zemezemed| | 2009-9-21 21:50 | 只看该作者
P2要大写吧,第一个程序

使用特权

评论回复
7
jerkoh| | 2009-9-21 21:51 | 只看该作者
for 里面为什么这么做?!

使用特权

评论回复
8
yxxcf| | 2009-9-21 21:53 | 只看该作者
sbit gate1=p2^0;
sbit gate2=p2^1;
sbit gate3=p2^2;
sbit gate4=p2^3;
将p2改为P2,P为大写.

使用特权

评论回复
9
紫云轩| | 2009-9-21 22:19 | 只看该作者
:)p要大写

使用特权

评论回复
10
lzg440| | 2009-9-21 22:21 | 只看该作者
本帖最后由 lzg440 于 2009-9-22 11:18 编辑

#include<reg51.h>
#define uint unsigned int
sbit gate1=P2^0;
sbit gate2=P2^1;
sbit gate3=P2^2;
sbit gate4=P2^3;
void main(void)
{
  unit i,j;
  while(1)
  {
    for(i=1000;i>0;i--)
for(j=1000;j>0;j--);
gate1=~gate1;
gate2=~gate2;
gate3=~gate3;
gate4=~gate4;
   }
}


P要大写,取反用~,++改--

使用特权

评论回复
11
mbutterfly| | 2009-9-22 08:56 | 只看该作者
FOR里面,估计是想让灯闪烁吧,可是太快了,看不到

使用特权

评论回复
12
zhlp8877| | 2009-9-22 11:01 | 只看该作者
很简单,打开目录里面的库文件,找到reg51.h,打开一看便知!!!!

使用特权

评论回复
13
jerkoh| | 2009-9-22 11:13 | 只看该作者
for(i=1000;i>0;i++)
for(j=1000;j>0;j++);

都注意了楼主的小p
不看下这2个for 对吗?哈哈

使用特权

评论回复
14
gougou645|  楼主 | 2009-9-22 11:44 | 只看该作者
感谢各位仁兄啊 一会试下看  应该没问题

使用特权

评论回复
15
节能技术| | 2009-9-22 15:56 | 只看该作者
;PC语言~

使用特权

评论回复
16
shanweichao| | 2009-9-22 16:09 | 只看该作者
第一次上本论他,,,菜鸟一只呀,,多多交流,539915373

使用特权

评论回复
17
gougou645|  楼主 | 2009-9-22 16:56 | 只看该作者
感谢十楼的兄弟 把你的拷过去 就编译通过了 但是我把自己原来的小写修改为大写 还是报同样的错误怎么  奇怪

使用特权

评论回复
18
IC_99| | 2009-9-22 18:39 | 只看该作者
p2^0这些要用大写的,还有你的延时程序应该用i--等等,细小的问题不能忽略了

使用特权

评论回复
19
l275961900| | 2009-9-22 18:56 | 只看该作者
单片机I/O口定义要大写

使用特权

评论回复
20
善解人意| | 2009-9-23 14:55 | 只看该作者
P2要大写,
for(i=1000;i>0;i++)  
       for(j=1000;j>0;j++);  这个可以改一下把自增改成自减

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

28

帖子

0

粉丝