标题: 按照单片机视频教程编译为什么失败? [打印本页]

作者: yinnan128    时间: 2021-3-5 20:16
标题: 按照单片机视频教程编译为什么失败?
本帖最后由 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)

我写的代码

我写的代码

作者: 人人学会单片机    时间: 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



作者: 心有浮生    时间: 2021-3-6 15:30
!是否是中文下的!,!和=之间不要空格、俩个单引号感觉有个是中文。因为明显有个空格
作者: angmall    时间: 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).



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

后来发现删掉空格就行了
作者: yinnan128    时间: 2021-3-8 18:31
angmall 发表于 2021-3-6 16:22
给你改了,!和= 是中文输入

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




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1