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 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed