雏雁-Arduino部分(二)LCD1602+IIC
雏雁-Arduino部分(二)LCD1602+IIC
引入库清单
1 |
|
LiquidCrystal_I2C库使用
准备的时候一般设定好lcd的行列数,实例lcd对象,在setup
函数里面初始化lcd(begin、打开背光)
setCursor(0, 0)
函数用于设置光标位置,参数是行和列,从0开始
print()
函数用于打印字符串
println()
函数用于打印字符串并换行
clear()
函数用于清屏(这个清屏是全部清,我写了单清一行的函数后面说)
1 |
|
清屏函数(某行)
先说为什么需要清屏函数。当我们重复的向lcd打印字符串的时候,如果不清屏,那么之前的字符串就会被覆盖。 当然这分几种情况:
- 重复打印的字符串长度大于等于之前打印的字符串长度,那么之前的字符串就会被覆盖
- 重复打印的字符串长度小于之前打印的字符串长度,那么之前的字符串就会被覆盖,但是后面的字符会保留
举例:原始字符串ACON
。如果我在同一起点(setCursor
)写入ACIN
或者ACONN
,结果显示正确的ACIN
或者ACONN
。
但是如果我在同一起点写入BC
,结果显示BCON
。(AC
被覆盖,ON
没有)
1602有两行,我们设计用第一行显示温湿度信息,第二行显示指令信息。所以需要清除第二行的函数。
这里传入参数是行数,我们在传入行的开始连续写入空格(空字符),完成覆盖。
(那个size_t就是typedefine unsigned int,copilot写的,我一方面懒得改,另一方面留着装逼)
1 | void lcdclearline(int line) { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Qianmoxsn的博客!