打印
[51单片机]

求救各路大神,帮小弟看看哪错了

[复制链接]
1789|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lynm|  楼主 | 2013-10-27 10:18 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
#define uchar uncharunsigned char
#define uint unsigned int
unsigned char flag,a,i;
uchar code table[]="I get";
void init()
{
   TMOD=0x20;//设定T1定时器工作方式2
   TH1=0xfd;//T1定时器初值
   TL1=0xfd;//T1定时器初值
   TR1=1;//启动T1定时器
   REN=1;//允许串口接收
   SM0=0;//设定串口工作方式1
   SM1=1;//设定串口工作方式1
   EA=1;//开总中断
   ES=1;//开串口中断
   
}
void main()
{
   init();
   while(1)
   {
      if(flag==1)
      {
         ES=0;
         for(i=0;i<6;i++)
         {
            SBUF=table[i];
            while(!TI);
            TI=0;
            
         }
         SBUF=a;
         while(!TI);
         TI=0;
         ES=1;
         flag=0;
      }
   }

}

//串口中断服务程序
void ser() interrupt 4
{
  RI=0;
  a=SBUF;
  flag=1;
  
}

相关帖子

沙发
lynm|  楼主 | 2013-10-27 10:31 | 只看该作者
小弟编译后报错是:TEST02CHUANKOU.C(5): error C129: missing ';' before 'char'

使用特权

评论回复
板凳
ballack_linux| | 2013-10-27 10:37 | 只看该作者
#define uchar uncharunsigned char
改成
#define uchar unsigned char

使用特权

评论回复
地板
gx_huang| | 2013-10-27 10:42 | 只看该作者
就是,都提示了,就这么几个字母,都不仔细看看。

使用特权

评论回复
5
lynm|  楼主 | 2013-10-27 10:48 | 只看该作者
ballack_linux 发表于 2013-10-27 10:37
#define uchar uncharunsigned char
改成
#define uchar unsigned char

小弟之前也是这样写的,后来百度了一下,才改成这样,依然不行

使用特权

评论回复
6
gx_huang| | 2013-10-27 14:55 | 只看该作者
那不可能,你重新英文模式输入一次。

使用特权

评论回复
7
黄小俊| | 2013-10-27 16:40 | 只看该作者
第二行写成这个样子错了吧。。

使用特权

评论回复
8
McuPlayer| | 2013-10-27 16:46 | 只看该作者
这种情况下尽量少用宏,而用typedef来替代,后者编译器可提供类型检查

#define uchar unsigned char
typedef unsigned char uchar;

使用特权

评论回复
9
ballack_linux| | 2013-10-27 22:43 | 只看该作者
lynm 发表于 2013-10-27 10:48
小弟之前也是这样写的,后来百度了一下,才改成这样,依然不行

   看,改完后编译完全没有问题

使用特权

评论回复
10
lynm|  楼主 | 2013-10-28 15:26 | 只看该作者
ballack_linux 发表于 2013-10-27 22:43
看,改完后编译完全没有问题

大神再帮我看看

B7J4LL`8FD~L~0VX9BA(HPF.jpg (89.75 KB )

B7J4LL`8FD~L~0VX9BA(HPF.jpg

使用特权

评论回复
11
lzq-first| | 2013-10-28 16:20 | 只看该作者
第二,第三行最后的“;”去掉

使用特权

评论回复
12
luofeng2g| | 2013-10-28 16:22 | 只看该作者
本帖最后由 luofeng2g 于 2013-10-28 23:01 编辑
lynm 发表于 2013-10-28 15:26
大神再帮我看看

define后面的分号,哪来的?。。:L

使用特权

评论回复
13
JasonWangSE| | 2013-10-28 16:28 | 只看该作者
分号

使用特权

评论回复
14
lynm|  楼主 | 2013-10-28 17:30 | 只看该作者
因为我是写软件的,都习惯了,谢了

使用特权

评论回复
15
电力猫| | 2013-10-28 17:47 | 只看该作者
....新手什么都不懂

使用特权

评论回复
16
ballack_linux| | 2013-10-28 22:51 | 只看该作者
lynm 发表于 2013-10-28 15:26
大神再帮我看看

define 是宏定义。。  不是语句,后面不能加分号,第二行和第三行后面的分号去掉即可

使用特权

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

本版积分规则

2

主题

15

帖子

0

粉丝