找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3360|回复: 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



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
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

没错误
回复

使用道具 举报

5#
ID:174087 发表于 2019-9-2 09:58 | 只看该作者
#define LCD1602_DATAPINS P0 好久没用51了不太清楚了,想问这里可以直接使用P0吗
回复

使用道具 举报

6#
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 单片机教程网

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