找回密码
 立即注册

QQ登录

只需一步,快速开始

帖子
查看: 2234|回复: 7
收起左侧

error C141: syntax error是哪里错啦!

[复制链接]
ID:862267 发表于 2020-12-24 00:06 | 显示全部楼层 |阅读模式
第23行出现这个错误!找了一晚上了!也不知道到底怎么回事!求帮助呀!!
这是一部分代码:
#include<reg51.h>
#include"intrins.h"
#define uint unsigned int
#define addr unsigned int
#define uint unsigned int
#define uchar unsigned char
sbit beep=P3^7;
void delay(uint z)//延时函数
{
uint x,y;
for(x=z;x>0;x--);
for(y=110;y>0;y--);
}
void di(uint x)//蜂鸣器发声函数
{
  beep=0;
  delay(x);
  beep=1;
  delay(x);
}
/****************显示处理函数****************/
void shanshuo(uchar addr,uchar count_1,uchar time_num) //闪烁显示子程序
{
  write_com("0x80+addr");//闪烁显示,格式:写入1602地址,设置的位号,显示的位号
  if(count==count_1&(shan<shan_time))//显示“”
  {
   write_data('');
   write_data('');
  }
else//显示时钟
{
write_time(time[time_num]/10);
write_time(time[time_num]%10);
}
}
void deal()//对时间进行显示处理
{
uchar addr=0x44;
shanshuo(addr,3.2);//时
addr+=3;
shanshuo(addr,2,1);//分
addr+=3;
shanshuo(addr,1.0);//秒
addr=0x02;
shanshuo(addr,7,6);//年
addr+=3;
shanshuo(addr,6,4);//月
addr+=3;
shanshuo(addr,5,3);//日
addr+=3;
if(count==4&(shan<shan_time))//星期
{
w_com(Ox80+addr);
  w_string(Oxff," ");
}
else w_string(11,week[time[5]]D);
}
/*************初始化程序*********************/
void init_lcd(//1602初始化
{
w_com(0x38);
  w_com(0x0c);
w_string(0x00."20 - - ");//年月日格式
  w_string(0x44,"-----:--");//时间格式
}
void init1302()//1302初始化
{
if(read1302(0x81)&0x80) settime(0x80,0);
}
谢谢大家!!
1.png
回复

举报

ID:235200 发表于 2020-12-24 08:33 | 显示全部楼层
addr怎么能用第4行的方式去定义,又在23行形式参数中定义呢
回复

举报

ID:115923 发表于 2020-12-24 08:44 | 显示全部楼层
第2和第4行 重复了

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

举报

ID:743654 发表于 2020-12-24 08:44 | 显示全部楼层
#include<reg51.h>
#include"intrins.h"
#define uint unsigned int
#define addr unsigned int
#define uint unsigned int
#define uchar unsigned char

改为:
#include<reg51.h>
#include"intrins.h
#define uint unsigned int
#define uchar unsigned char

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

举报

ID:824490 发表于 2020-12-24 08:44 | 显示全部楼层
w_com(Ox80+addr);
  w_string(Oxff," ");
是0x80,不是Ox80,文字错了

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

举报

ID:278840 发表于 2020-12-24 09:34 | 显示全部楼层
shanshuo(addr,3.2);//shanshuo(addr,1.0);//秒这里的点应该是问题的关键了

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

举报

ID:553941 发表于 2020-12-24 09:37 | 显示全部楼层
#define addr unsigned int
回复

举报

ID:553941 发表于 2020-12-24 09:38 | 显示全部楼层
#define addr unsigned int
定义了这么个东西
然后你函数里面又uchar定义了一个叫addr的,,这肯定要报错的。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表