找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4223|回复: 4
打印 上一主题 下一主题
收起左侧

error C141: syntax error near 'bit' 有大神帮我改下错吗?

[复制链接]
跳转到指定楼层
楼主
ID:401631 发表于 2018-9-23 18:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
错误提示:

Rebuild target 'Target 1'
compiling main.c...
main.c(21): error C141: syntax error near 'bit'
Target not created

我想显示汉字出来,用的是与飞电子YF_K1的开发板。


#define LCD_12864DB P0
#include<reg52.h>
#define uchar unsigned char
#include<intrins.h>
#define lcd.h
#define delay.h
#define delayNop()
sbit LCD_RS=P2^3;
sbit LCD_RW=P2^4;
sbit LCD_EN=P2^5;
sbit LCD_PSB=P3^3;

uchar code dis1[]={"Óë·Çµç×Ó"};
uchar code dis2[]={"wwwyfmcucom"};
uchar code dis3[]={"YF_K1 °¡°¡°¡"};
uchar code dis4[]={"ÊÇÄú×îºÃµÄÑ¡Ôñ"};
void delayNop()

bit led_busy()
{
bit result;
LCD_RS=0;
LCD_RW=1;
LCD_EN=1;
delayNOP();
result=(bit)(P0&0x80);
LCD_EN=0;
return(result);
}

void lcd_wcmd(uchar cmd)
{
while(led_busy());
{
  LCD_RS=0;
LCD_RW=0;
LCD_EN=0;
_nop_();
_nop_();
P0=cmd;
delayNOP();
LCD_EN=0;
}
}
void lcd_wdat(uchar dat)
{
while(lcd_busy());
{
LCD_RS=1;
LCD_RW=0;
LCD_EN=0;
P0=dat;
delayNOP();
LCD_EN=1;
delayNOP();
LCD_EN=0;
}
}
void lcd_init()
{
LCD_PSB=1;
lcd_wcmd(0x34);
delay(5);
lcd_wemd(0x30);
delay(5);
lcd_wcmd(0x0c);
delay(5);
lcd_wcmd(0x01);
delay(5);
}



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

使用道具 举报

沙发
ID:277374 发表于 2018-9-23 20:51 | 只看该作者
uchar code dis4[]={"êÇÄú×îoÃμÄÑ¡Ôñ"};
void delayNop()


注意了吗?我提取出来的最后一行,没有“;”这个符号。每一行结束都应该有分号的,加上就行了
回复

使用道具 举报

板凳
ID:388197 发表于 2018-9-23 21:20 | 只看该作者
编译报错是void delayNop()后面少了个分号
result = (bit)(P0&0x80)这样写也不好.
如果P0作为输入口.
应写为
result = P0>>7;
尤其是当P0位输出口时,可能输出是1,但是接在IO口上的负载电阻如果小于内部上拉电阻,会造成将整个IO口电位拉低,这时候你再去读者个IO口,很有可能读出来的是0.这问题可以通过编译,但是一旦影响程序运行排查起来会比较费时.
作为输出口,建议这样操作
U8 TEMP;           //建立一个变量用于缓冲
BIT FLAG;          //标志位
TEMP = 0xXX; //TEMP赋值
P0 = TEMP;      //TEMP的值再赋予 P0
/*P0赋值后,当需要查询P0具体一位的值,只需要在P0再次赋值前,查询TEMP 相应的位即可*/

FLAG = TEMP>>n ;   (n=0--7)n值取决于你想FLAG等于TEMP的那一位


评分

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

查看全部评分

回复

使用道具 举报

地板
ID:387733 发表于 2018-9-23 21:39 | 只看该作者
uchar code dis1[]={"óë·Çμç×ó"};
uchar code dis2[]={"wwwyfmcucom"};
uchar code dis3[]={"YF_K1 °¡°¡°¡"};
uchar code dis4[]={"êÇÄú×îoÃμÄÑ¡Ôñ"};
void delayNop()

最后一句缺少“;”
回复

使用道具 举报

5#
ID:135253 发表于 2018-9-23 21:42 | 只看该作者
void delayNop()后面加个分号
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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