找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3854|回复: 6
收起左侧

error C141: syntax error near 'sbit'大神帮忙看看

[复制链接]
ID:932524 发表于 2021-6-4 00:21 | 显示全部楼层 |阅读模式
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit din=P1^0;
sbit cs=P1^1;
sbit clk=P1^2;
void write_7219(uchar add,uchar date)
{
uchar i;
cs=0;
for(i=0;i<8;i++)
{
clk=0;
din=add&0x80;
add<<=1;
clk=1;
}
for(i=0;i<8;i++)
{
clk=0;
din=date&0x80;
date<<=1;
clk=1;
}
cs=1;
}
void init_7219()
{
write_7219(0x0c,0x01);
write_7219(0x0a,0x0f);
write_7219(0x09,0x00);
write_7219(0x0b,0x07);
}
void disp_Max7219(uchar dig,uchar dat)
{  write_7219(dig,dat); }


MAX7219.h(4): error C141: syntax error near 'sbit'
MAX7219.h(4): error C202: 'din': undefined identifier
MAX7219.h(5): error C141: syntax error near 'sbit'
MAX7219.h(5): error C202: 'cs': undefined identifier
MAX7219.h(6): error C141: syntax error near 'sbit'
MAX7219.h(6): error C202: 'clk': undefined identifier
MAX7219.h(7): error C141: syntax error near 'void'

回复

使用道具 举报

ID:94031 发表于 2021-6-4 07:49 | 显示全部楼层
我用的编译器无错误,是否你的编译器有问题。
回复

使用道具 举报

ID:716656 发表于 2021-6-4 08:32 | 显示全部楼层
我感觉是你keil设置的问题,或者你选的芯片跟程序#include<reg51.h>对不上。我编译的没问题
回复

使用道具 举报

ID:739545 发表于 2021-6-4 10:34 | 显示全部楼层
可能sbit这个宏定义问题,你查一下是否keil对应的引用的reg.51的问题
回复

使用道具 举报

ID:883031 发表于 2021-6-4 11:49 | 显示全部楼层
估计是你的头文件没有引用,你把头文件放到你程序的目录下,应该能解决。
回复

使用道具 举报

ID:932412 发表于 2021-6-4 20:49 | 显示全部楼层
一般你按ctrl+鼠标点击sbit可以进入相应对应的文件,如果没有那就的查找一下原因ide,或者头文件路径。
回复

使用道具 举报

ID:777356 发表于 2021-6-4 22:54 | 显示全部楼层
我猜有可能是你的Keil软件没有破解,要不就是芯片的型号没有选对
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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