[英]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()
方法在所需行中手動設置數據,此方法可幫助您在所需位置移動和打印,它接收列和行這兩個參數,我將網址中包含更多信息。
是的,這是預期的行為。 該庫使您可以控制基於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.