连接1602LCD以后打印字符串只能打印第一个字符-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1411|回复: 11

[已解决] 连接1602LCD以后打印字符串只能打印第一个字符

[复制链接]
发表于 2022-1-28 16:09 | 显示全部楼层 |阅读模式
WechatIMG175.jpeg
我连接了液晶屏,打印字符串的话只打印字符串的第一个字符,包括我读取温度的变量也是一样
WechatIMG176.jpeg
如果要打印完整的文字,需要一个个设置,比如这样:
WechatIMG173.jpeg
字符串我可以自己设置和定位位置,但是读取到的变量如果要转换成字符串再打散的话这个语言我不懂,是不是可以像java一样转成String,然后再输出
WechatIMG174.jpeg
发表于 2022-1-28 20:37 | 显示全部楼层
妥妥的月经贴,解决办法:找到库里的 write 函数,最后确保 return 1 就完事了。

具体见下图:

I2CBUG.PNG
发表于 2022-1-28 18:15 | 显示全部楼层
程序没问题,你在lcd.print("hello world!");上面加一条lcd.setCursor(0,1);看看第二行是否能正确显示。
 楼主| 发表于 2022-1-28 18:19 | 显示全部楼层
不行的,但是一次打印一个字母或者数字是可以的,很奇怪
 楼主| 发表于 2022-1-29 18:14 | 显示全部楼层
t3486784401 发表于 2022-1-28 20:37
妥妥的月经贴,解决办法:找到库里的 write 函数,最后确保 return 1 就完事了。

具体见下图:

感谢,确实有效,已经解决了!
发表于 2022-5-6 11:22 | 显示全部楼层
#define printIIC(args)        Wire.write(args)
inline size_t LiquidCrystal_I2C::write(uint8_t value) {
        send(value, Rs);
        return 1;
}
查看液晶I2C。cpp文件里面是return 1,也只显示1个字符哦,难道改成0?
发表于 2022-5-6 15:16 | 显示全部楼层
t3486784401 发表于 2022-1-28 20:37
妥妥的月经贴,解决办法:找到库里的 write 函数,最后确保 return 1 就完事了。

具体见下图:

cpp文件里是return 1 ,可是还是只显示一个字符哦,咋回事呢,IDE是1.8.19版本,uno板,IIC 1602LCD,谢谢
发表于 2022-5-6 16:05 | 显示全部楼层
rdet97 发表于 2022-5-6 15:16
cpp文件里是return 1 ,可是还是只显示一个字符哦,咋回事呢,IDE是1.8.19版本,uno板,IIC 1602LCD,谢 ...

每次编译好以后,IDE 里边会显示使用的库的位置。

目测你电脑上有好几个库,确认下是否改错位置了
发表于 2022-5-7 15:34 | 显示全部楼层
t3486784401 发表于 2022-5-6 16:05
每次编译好以后,IDE 里边会显示使用的库的位置。

目测你电脑上有好几个库,确认下是否改错位置了 ...

确实装了好几个版本的IDE,库文件折腾来折腾去,好几个,我清理一下看看。谢谢
发表于 2022-5-9 17:08 | 显示全部楼层
t3486784401 发表于 2022-5-6 16:05
每次编译好以后,IDE 里边会显示使用的库的位置。

目测你电脑上有好几个库,确认下是否改错位置了 ...

果然是多了几个库干扰了,把低版本的文件夹删除后就ok了,谢谢哈
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-1 04:43 , Processed in 0.083948 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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