384浏览
查看: 384|回复: 1

[讨论交流] DFR0464 LCD1602用户库更新历程 文末附自己改编的库文件

[复制链接]
买了DF的传感器套件+Arduino uno+I/O版,开始了自学,及带娃学习的路程。
玩到LCD1602的时候发现,mind+自带的LCD1602无法驱动液晶显示模块。以为是产品质量问题,开始和淘宝客服反馈。
几轮沟通,终于搞明白了原因,是在用户库里添加对应的模块才行。
加好模块后,又掉坑里了。发现显示都是没有问题,为什么背光灯没有亮?
找了资料库里的文档_SKU_DFR0464__Gravity__I2C_LCD1602_RGB_彩色背光液晶屏-DFRobot
通过Arduino IDE用样例程序调用库没有问题,各种操作均正常。但一到mind+里就不能对背光灯做操作。
想到可能是库文件的问题。第一次搞这个完全没有头绪,库文件怎么写?
就又在论坛里转悠,arduino库模板-Mind+用户库教程 (dfrobot.com.cn)这里有教怎么弄自己的库文件。
想想也没精力系统的学习,开始最简单的假设:
原来的库文件也不是完全不能用,只是背光灯无法控制。那先看看arduino的library文件和资料库里说的是否一致?一看发现问题了。不一样。
先来了波直接替换。为了确保不影响原来的库文件,都是复制出来改了名字。
按照用户库的添加本地的库文件。竟然可以加进去!瞬间有了信心。接下来便是面向bug编程。简单添加初始化的指令后,立马报错。发现是找不到对象。
代码区里显示的是DFRobot_LCD.h,但资料库里下载到的library是DFRobot_RGBLCD1602.h还有一个.cpp也是一样的名字,立马改正。继续报错。
一遍遍修改,主要就是调用的对象名称,方法。统统都要修改。。。。我们用户库终于不报错了。
改到头发现,和原来的一样。除了背光灯不亮,其他都好用。我闷了,怎么能这样呢?
回到头上仔细看教程,发现main.ts文件就是对应生成代码的文件。经过几轮替换后,对于library下载来的cpp和h两个文件也基本清楚了。新的版本里对应有好几个版本的LCD1602的支持,而且通过lcd的方法来实现,参数上比原来的main.ts里的多了一个。赶紧补上了对应的V2.0的0x2D的其实地址。再试。

哈哈,终于成功了。
感慨一下,磨刀不误砍柴功。瞎折腾那么久,不如先看看教程。
最后话不多说,附上自己改好的用户库文件。有需要的朋友自行下载。我也和淘宝客户咨询了。官方会修复原来的用户库,着急用的朋友可以先考虑我的来用一阵。
https://mc.dfrobot.com.cn/forum.php?mod=attachment&aid=MTc3NTIyfGI4ZmI3ZGZmM2ExNGNhOGRhZmEyN2FlYTBiMjI1YjNhfDE3MzIyMzAyMDQ%3D&request=yes&_f=.7z


静静0319  学徒

发表于 2024-9-13 18:26:45

感谢分享,回家我也试了,终于搞定了,太感谢啦
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail