zbm1975 发表于 2015-3-4 00:07:52

LiquidCrystal_I2C 1602模块显示时问题

本帖最后由 迷你强 于 2015-3-4 21:59 编辑

void loop()
{
         
         if(Serial.available())
      {
            bytereadbuf = Serial.read();
            number++;
   
            lcd.setCursor(number-1, 0);
            lcd.printByte(readbuf);
               
         }
    }         


我用LiquidCrystal_I2C1602模块显示时问题:显示后数据时,前面已经的显示的变为了空。如 接受到“abc",显示结果变成了:
第一次:"a"
第二次:"空b"
第三次:"空空c"而不是我想要的:"abc".

恳请大侠们指点!

快乐生活 发表于 2015-3-4 10:27:24

本帖最后由 快乐生活 于 2015-3-4 10:32 编辑

按下面的程序测试一下


#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);// set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
lcd.init();                      // initialize the lcd
lcd.backlight();
Serial.begin(9600);
}

void loop()
{
// when characters arrive over the serial port...
if (Serial.available()) {
    // wait a bit for the entire message to arrive
    delay(100);
    // clear the screen
    lcd.clear();
    // read all the available characters
    while (Serial.available() > 0) {
      // display each character to the LCD
      lcd.write(Serial.read());
    }
}
}

zbm1975 发表于 2015-3-4 14:26:42

快乐生活 发表于 2015-3-4 10:27 static/image/common/back.gif
按下面的程序测试一下




谢谢。经过N次仔细检查,发现其他代码段中 if判断后面多了一个;直接把 lcd clear了。:L

AFCGO 发表于 2015-4-17 21:39:53

快乐生活 发表于 2015-3-4 10:27 static/image/common/back.gif
按下面的程序测试一下




你好,请问你有I2C 1602 的库文件吗?我找了好多库都不能通过编译,我的IDE版本是1.0.5.谢谢了

AFCGO 发表于 2015-4-17 21:40:32

zbm1975 发表于 2015-3-4 14:26 static/image/common/back.gif
谢谢。经过N次仔细检查,发现其他代码段中 if判断后面多了一个;直接把 lcd clear了。

你好,请问你有I2C 1602 的库文件吗?我找了好多库都不能通过编译,我的IDE版本是1.0.5.谢谢了

huanhuaguang 发表于 2015-4-25 19:14:01

淘宝店家提供的I2C 1602 的库文件,经测试可用
注意使用前还需<Wire.h> 和<LiquidCrystal_I2C.h>已安装
页: [1]
查看完整版本: LiquidCrystal_I2C 1602模块显示时问题