簡體   English   中英

Arduino LCD在第1行僅顯示fisrt 16個字符,在第2行顯示41至46個角色

[英]Arduino LCD only display fisrt 16 characters on line 1 and 41 to 46 caracters in line 2

當我使用<LiquidCrystal.h庫和lcd-write()它僅在第一行中顯示前16個字符,在第二行中顯示第41個字符。

我從lcd.begin(16,2)

這里是代碼示例。 該代碼的結果將是:第1行: 0123456789112345

第2行: 4123456789

#include <LiquidCrystal.h>
LiquidCrystal lcd(2,3,4,5,6,7);
void setup() {
  // put your setup code here, to run once:
  lcd.begin(16, 2);
  Serial.begin(9600);
  lcd.print("0123456789");
  lcd.print("1123456789");
  lcd.print("2123456789");
  lcd.print("3123456789");
  lcd.print("4123456789");
}
void loop() {
}

其預期的功能? 有一種方法可以使第17個字符顯示在第二行中。

我不確定您的Arduino為什么會有這種行為,但是每次打印並查看其工作方式時,都可以在一行中輸入16個字符的完整行,還可以解析變量ant並將其傳遞給.print方法。

另一種方法是使用setCursor()方法在所需行中手動設置數據,此方法可幫助您在所需位置移動和打印,它接收列和行這兩個參數,我將網址中包含更多信息。

https://www.arduino.cc/en/Tutorial/LiquidCrystalSetCursor

是的,這是預期的行為。 該庫使您可以控制基於HD44780的LCD模塊。 該LCD控制器最多可以驅動2行顯示40個字符。 當您使用較小的模塊時,這些行仍存儲在DDRAM中的相同位置:第一行從位置0開始,第二行從位置40開始。有關更多信息,請參見數據表:

https://www.sparkfun.com/datasheets/LCD/HD44780.pdf

由於16字符寬的顯示屏是DDRAM的窗口,因此您可以使用整個內存並向左和向右滾動。 您可以使用scrollDisplayLeft和scrollDisplayRight左右移動顯示。 這些功能更改了顯示屏最左邊第一個字符使用的DDRAM地址。 這兩行一致滾動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM