导航
  • 全部
...

keil错误:error c129: missing ';' before 'keyscan' 请大家指点迷津

linqiang24 2011-05-02 01:29:44
#include<reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f, 0x40,0x00};
Void keyscan()
{
Enum keydown kdwn
P1=oxff
If((p1&oxff)!=ox1f)
{
delay(1000) ;
If((p1&ox1f)!=ox1f)
{
Kdwn=p1&ox1f
Switch(kdwn)
{
Case clckws:clokwise( );break;
Case antclckws: anticlokwise( );break;
Case mstsp: motorstop( );break;
Case spdp: speedup( ); break;
Case spdwn: speeddown( ); break;
}
}
}
While((p1&ox1f)!=ox1f);
}
void time0_int(void) interrupt 1
{
time++;
TH0 = 0xec;
TL0 = 0x78;
if(change == 0)
{
PWM2 = 1;
if(time == high)
PWM1=0;
else if(time == period)
{
PWM1 = 1;
time = 0;
}
}
else
{ PWM1 = 1;
if(time == high)
PWM2=0;
else if(time == period)
{
PWM2 = 1;
time = 0;
}
}
}

Void main (void)
{
TMOD=OX01 ;
TH0=(65536-pulsewidth)
TL0= (65536-pulsewidth)
EA=1 ;
ET=0 ;
TR=0 ;
While(1)
{
keyscan() ;
}
}
...全文
给本帖投票
4094 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
cjf764555750 2013-05-21
  • 打赏
  • 举报
回复
你这里应该是想要使用enum定义一个枚举类型,应该是没有正确定义 enum 枚举名 {这里填类型的值}
Const_J 2013-05-18
  • 打赏
  • 举报
回复
引用 14 楼 sgzzcs 的回复:
都是细节问题,显示出楼主的编程习惯不太好。
少了不少“;” 多联系些。
sgzzcs 2013-02-20
  • 打赏
  • 举报
回复
都是细节问题,显示出楼主的编程习惯不太好。
cccztw 2013-02-05
  • 打赏
  • 举报
回复
void 大小写错了
jungzhou2007 2013-02-01
  • 打赏
  • 举报
回复
keyscan错误的这一行前面应该缺少“;”,不过你这没注释的程序,而且也没告诉我们错在哪一行
darennet 2013-01-31
  • 打赏
  • 举报
回复
这些问题都是不细心造成的,我常遇到
limawu99 2012-06-25
  • 打赏
  • 举报
回复 1
不要save成*.c 文件,要save 成*.asm 文件,则C129问题解决了。
Bateagle 2011-05-02
  • 打赏
  • 举报
回复
错误很多啊~我们都需要好好学习啊!
bjtea 2011-05-02
  • 打赏
  • 举报
回复
看程序,keydown应该是枚举变量.
枚举的定义枚举类型定义的一般形式为:
enum 枚举名{ 枚举值表 };
例如:定义星期枚举变量:
enum weekday{ sun,mou,tue,wed,thu,fri,sat };
enum weekday a;

由于Kdwn = P1 & 0x1f,其取值来自于P1端口,故很大可能是:
enum keydown{clckws=0x01,antclckws=0x02,mstsp=0x04,spdp=0x08,spdwn=0x10};
enum keydown kdwn;

楼主刚刚开始入门,建议加强基本C编程学习。
Great_Bug 2011-05-02
  • 打赏
  • 举报
回复
都是低级错误。。。。。大小写,或者是真的少个';'.......
  • 打赏
  • 举报
回复
到处都是错误 特别要注意“;”的用处 用来隔开语句的 你缺少分号 相当于是同一条语句 还有很多错误 不是一次两次能改对的 建议你认真改
dceacho 2011-05-02
  • 打赏
  • 举报
回复
还有其他一些错误
比如好几行少;
另外Enum keydown kdwn
有问题,枚举我现在忘了怎么用了,你自己查下书看有没有语法错误

If((p1&oxff)!=ox1f)你注意0和o的区别


程序你是从Word里COPY的怎么第一个字母都大写了?

总之错误一大堆
dceacho 2011-05-02
  • 打赏
  • 举报
回复
Void改成void
linqiang24 2011-05-02
  • 打赏
  • 举报
回复
刚才我改了下,现在剩下的问题是编程时程序提示 error c230:'keydown'; unknow struct/union/enum tag 本人初学者希望高手们帮忙指导下

27,508

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧

手机看
关注公众号

关注公众号

客服 返回
顶部