找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4277|回复: 5
收起左侧

LCD.H(10): error C141: syntax error near 'sbit'

[复制链接]
ID:602220 发表于 2019-8-30 12:59 | 显示全部楼层 |阅读模式
5黑币
我在一个模块头文件定义,在主函数模块引用他的头文件,但是一直报错,应该不是中英文字符问题我删掉重新改了好几次。单独模块编译没有问题但是每次一build就不行。麻烦帮忙看看什么问题
#ifndef __LCD_H_

#define __LCD_H_
#define LCD1602_4PINS
#include<reg52.h>

#define LCD1602_DATAPINS P0
sbit LCD1602_E=P2^7;
sbit LCD1602_RW=P2^5;
sbit LCD1602_RS=P2^6;


void Lcd1602_Delay1ms(unsigned int c);   
void LcdWriteCom(unsigned char com);

void LcdWriteData(unsigned char dat) ;
  
void LcdInit();        
void Lcd_first_line(unsigned char first_line[]);
void Lcd_second_line(unsigned char second_line[]);
#endif



回复

使用道具 举报

ID:275826 发表于 2019-8-30 19:47 | 显示全部楼层
我COPY 你的头文件,编译没有错误呀
回复

使用道具 举报

ID:235200 发表于 2019-8-30 23:32 | 显示全部楼层
#define LCD1602_4PINS 这一句不知道要描述什么?从语法上讲是错误的
回复

使用道具 举报

ID:155507 发表于 2019-8-31 09:00 | 显示全部楼层
csmyldl 发表于 2019-8-30 23:32
#define LCD1602_4PINS 这一句不知道要描述什么?从语法上讲是错误的

/**********************************
当使用的是4位数据传输的时候定义,
使用8位取消这个定义
**********************************/
#define LCD1602_4PINS

没错误
回复

使用道具 举报

ID:174087 发表于 2019-9-2 09:58 | 显示全部楼层
#define LCD1602_DATAPINS P0 好久没用51了不太清楚了,想问这里可以直接使用P0吗
回复

使用道具 举报

ID:307020 发表于 2019-9-2 14:05 | 显示全部楼层
“#define LCD1602_4PINS ”从上下文衔接上来看,楼主是注释此代码用LCD1602四线模式,直接用注释//LCD1602_4LINES//或/*LCD1602_4LINES*/就可以了,#define LCD1602_4PINS没有必要;#define语句是将MCU的引脚赋予你要定义的名称。楼主接下来的代码“#define LCD1602_DATAPINS P0”的意义是“赋名LCD1602_DATAPINS与MCU P0”,而“#define LCD1602_4PINS ”将LCD1602_4PINS名赋与谁呢?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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