找回密码
 立即注册

QQ登录

只需一步,快速开始

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

按照单片机视频教程编译为什么失败?

[复制链接]
跳转到指定楼层
楼主
本帖最后由 yinnan128 于 2021-3-5 20:34 编辑

对着视频教程编写的,为什么视频里编译的时候没有错误,我的就不行呢?网上查说101和141提示是有中文标点,但我调成英文输入法全部重新输入还是不行

单片机源程序如下:
  1. void LCDShowStr(unsigned char x,unsigned char y,unsigned char *str)
  2. {
  3.   if(0 == y)
  4.         {
  5.           LCDWriteCmd(0X80 | x);
  6.         }
  7.         else
  8.         {
  9.                 LCDWriteCmd(0X80 | (0x40 + x));
  10.         }        
  11.                 while(*str ! = ' \0')
  12.                 {
  13.                         LCDWriteData(*str++);
  14.                 }
复制代码

compiling LCD1602.c...
LCD1602.c(60): error C141: syntax error near '!'
LCD1602.c(60): error C141: syntax error near '='
LCD1602.c(60): error C101: '' ': invalid character constant
LCD1602.c(60): error C141: syntax error near '\'
LCD1602.c(60): error C101: '')': invalid character constant
LCD1602.c(60): error C141: syntax error near '')'
LCD1602.c(61): error C141: syntax error near '{'
LCD1602.c - 7 Error(s), 0 Warning(s).

1.jpg (72.14 KB, 下载次数: 45)

视频教程

视频教程

2.jpg (129.59 KB, 下载次数: 40)

我写的代码

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

使用道具 举报

沙发
ID:390416 发表于 2021-3-5 21:13 | 只看该作者
http://www.51hei.com/bbs/dpj-200685-1.html


一、上面贴子的代码,主函数大循环前面初始化P4IO口为准双向口
二、主函数大循环前面需要初始化LCD1602_Init();
三、我们是使用595转换给LCD的D0~D7。你们可以直接用P2口赋值给LCD。
四、主函数每500ms 调用LCD1602_Display_Ser()函数。实现数据每半秒刷新一次即可。省掉读忙的过程。
五、两个LCD1602_Write_Buffer[];数组,分别是上下两行的显存。其他地方有需要,就往里面丢ASCII值就可以了。比如0x30+5.液晶显示数字5


回复

使用道具 举报

板凳
ID:654028 发表于 2021-3-6 15:30 | 只看该作者
!是否是中文下的!,!和=之间不要空格、俩个单引号感觉有个是中文。因为明显有个空格
回复

使用道具 举报

地板
ID:155507 发表于 2021-3-6 16:22 | 只看该作者
给你改了,!和= 是中文输入

  1. void LCDShowStr(unsigned char x, unsigned char y, unsigned char *str)
  2. {
  3.         if(0 == y)
  4.         {
  5.                 LCDWriteCmd(0X80 | x);
  6.         }
  7.         else
  8.         {
  9.                 LCDWriteCmd(0X80 | (0x40 + x));
  10.         }        
  11.         while(*str != '\0')
  12.         {
  13.                 LCDWriteData(*str++);
  14.         }
  15. }
复制代码


"LCD1602" - 0 Error(s), 0 Warning(s).


回复

使用道具 举报

5#
ID:608872 发表于 2021-3-8 18:30 | 只看该作者
心有浮生 发表于 2021-3-6 15:30
!是否是中文下的!,!和=之间不要空格、俩个单引号感觉有个是中文。因为明显有个空格

后来发现删掉空格就行了
回复

使用道具 举报

6#
ID:608872 发表于 2021-3-8 18:31 | 只看该作者
angmall 发表于 2021-3-6 16:22
给你改了,!和= 是中文输入

后来发现,删掉空格就行了,不是!和=的问题
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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