久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1792|回復: 8
收起左側

lcd.c(3): error C141: syntax error near 'sbit'

[復制鏈接]
ID:1100383 發表于 2023-11-19 17:08 | 顯示全部樓層 |閱讀模式
#include <REGX52.H>
#include "delay.h"
sbit LCD_RW = P2^5;
sbit LCD_RS = P2^6;
sbit LCD_EN = P2^7;
#define LCD_DATAPORT P0
void data_process()
{
LCD_EN=1;
delay(1);
LCD_EN=0;
delay(1);
}
void writecommand(unsigned char command)
{
LCD_RS=0;
LCD_RW=0;
LCD_DATAPORT=command;
data_process();
}
void writedata(unsigned char datas)
{
LCD_RS=1;
LCD_RW=0;
LCD_DATAPORT=datas;
data_process();
}

void LCD_Init(void)
{
        LCD_writecommand(0x38);
        LCD_writecommand(0x0C);
        LCD_writecommand(0x06);
        LCD_writecommand(0x01);
}
void set_cursor(unsigned char line,unsigned char column)
{
if(line==1);
        writecommand(0x80|column-1);
else
        writecommand(0x80|column-1+0x40);
}
void writes_char(unsigned char line,unsigned char column,unsigned char str)
{
set_cursor(line,column);
writedata(str);
}
void writes_string(unsigned char line,unsigned char column,unsigned char *string)
{
set_cursor(line,column);
for(int i=0;i<string[i]!=0;++i)
        writedata(string[i]);
}
void main()
{
LCD_Init();
writes_string(1,1,"fuck you");
while(1)
{

}
}


屏幕截圖 2023-11-19 170651.png
回復

使用道具 舉報

ID:883242 發表于 2023-11-19 19:43 | 顯示全部樓層
應該是delay.h不干凈,把錯誤遺留這里了。
回復

使用道具 舉報

ID:227393 發表于 2023-11-19 20:01 來自觸屏版 | 顯示全部樓層
第六行移動到第三行試試
回復

使用道具 舉報

ID:69038 發表于 2023-11-19 20:51 | 顯示全部樓層
因為代碼不文明,被KEIL強制隔離了
回復

使用道具 舉報

ID:69038 發表于 2023-11-19 21:07 | 顯示全部樓層
#include <REGX52.H>
#include "delay.h"//路徑對嗎?
sbit LCD_RW = P2^5;
sbit LCD_RS = P2^6;
sbit LCD_EN = P2^7;
#define LCD_DATAPORT P0
void data_process()
{
LCD_EN=1; //EN 低跳變?
delay(1);
LCD_EN=0;
delay(1);
}

void writecommand(unsigned char command)
{
LCD_RS=0;
LCD_RW=0;
LCD_DATAPORT=command;
data_process();
}
void writedata(unsigned char datas)
{
LCD_RS=1;
LCD_RW=0;
LCD_DATAPORT=datas;
data_process();
}

void LCD_Init(void)
{
        LCD_writecommand(0x38);//LCD_writecommand原型在哪 里?
        LCD_writecommand(0x0C);
        LCD_writecommand(0x06);
        LCD_writecommand(0x01);
}
void set_cursor(unsigned char line,unsigned char column)
{
if(line==1);  //這行是干什么的?
        writecommand(0x80|column-1);//邏輯順序對嗎?
else
        writecommand(0x80|column-1+0x40);//邏輯順序對嗎?
}
void writes_char(unsigned char line,unsigned char column,unsigned char str)
{
set_cursor(line,column);
writedata(str);
}
void writes_string(unsigned char line,unsigned char column,unsigned char *string)
{
set_cursor(line,column);
for(int i=0;i<string!=0;++i)
        writedata(string);
}
void main()
{
LCD_Init();
writes_string(1,1,"fuck you");
while(1)
{

}
}
回復

使用道具 舉報

ID:883242 發表于 2023-11-19 21:16 | 顯示全部樓層
zhuls 發表于 2023-11-19 21:07
#include
#include "delay.h"//路徑對嗎?
sbit LCD_RW = P2^5;

路徑不對怎么可能出現樓主位的錯誤,不僅行數不對,而且錯誤也不對。

錯誤的問題出在第3行,而第3行顯然是正確的,那就是第2行的遺留問題,編譯器沒檢測到問題,但是到了正確的第3行就出問題了。顯然是頭文件太臟了,把正確的文件污染成錯誤的。
回復

使用道具 舉報

ID:69038 發表于 2023-11-19 21:27 | 顯示全部樓層
Hephaestus 發表于 2023-11-19 21:16
路徑不對怎么可能出現樓主位的錯誤,不僅行數不對,而且錯誤也不對。

錯誤的問題出在第3行,而第3行顯 ...

不一定哦~~
我曾經遇到過這樣的錯誤:
單個文件都是對的,是在extern 引用時,因為類型不對,(變量聲明時u8,引用時u16)結果提示什么什么缺少“;”、XXX未定義之類的。反正就是5花8門的錯誤后,后來把extern的類型配對后就沒有錯了。
回復

使用道具 舉報

ID:883242 發表于 2023-11-19 21:37 | 顯示全部樓層
zhuls 發表于 2023-11-19 21:27
不一定哦~~
我曾經遇到過這樣的錯誤:
單個文件都是對的,是在extern 引用時,因為類型不對,(變量聲 ...

算了吧,驢唇不對馬嘴。
回復

使用道具 舉報

ID:1100542 發表于 2023-11-20 20:38 | 顯示全部樓層
delay.h看看是不是聲明少了個;
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品网站在线观看 | 成人午夜精品 | 国产一级片免费 | 亚洲一区在线视频 | 久久久久女人精品毛片九一 | 黄色免费毛片 | 久久xxxx| 亚洲成人动漫在线观看 | 国产精品久久久久久中文字 | 久久毛片视频 | 午夜天堂在线 | 亚洲第一天堂网 | 国产第二区 | 青青草视频在线观看 | 亚洲激情在线视频 | 欧美日韩三区 | 欧美日皮视频 | 国产视频a | 中文字幕一区二区三区四区视频 | 好吊视频一区二区三区四区 | 日韩成人综合 | 国产一级黄色大片 | 激情小说在线视频 | 少妇精品视频 | 亚洲一区二区三区中文字幕 | 深夜福利视频网站 | 免费午夜视频 | 天天看天天操 | 国内精品国产成人国产三级 | 在线播放亚洲 | 久久国产精品视频 | 麻豆成人91精品二区三区 | 国产91在线看 | 一级黄色片在线观看 | 欧美黄色一级视频 | 欧美久久久久久久久久 | 看av| 欧美日韩一区二 | 色人人| 天天有av| 欧美视频a |