#include <LiquidCrystal_I2C.h> #include <Wire.h> LiquidCrystal_I2C lcd(0x20,20,4);//将 LCD 地址设置为 0x20,用于 20 个字符和 4 行显示 void setup() { Wire.setPins(4,5); lcd.init(); lcd.backlight(); lcd.setCursor(0, 0);//设置起始位置 lcd.print(" Bilibili Channel "); lcd.setCursor(0, 1); lcd.print("-FreeRTOS on EPS32- "); lcd.setCursor(0, 2); lcd.print("Study Hard & Smart"); } void loop() { } 如何优化代码使lcd显示
时间: 2024-04-15 09:27:07 浏览: 163
要优化代码以使lcd显示,你可以考虑以下几点:
1. 减少lcd.print()函数的调用次数:每次调用lcd.print()都会向LCD发送数据,因此减少调用次数可以提高效率。你可以将要显示的内容存储在变量中,然后一次性调用lcd.print()函数。
2. 使用lcd.setCursor()函数设置光标位置:在每次调用lcd.print()之前,使用lcd.setCursor()函数设置光标位置。这样可以避免在每次调用lcd.print()时重复设置光标位置。
3. 消除重复的内容:如果你发现某些内容在循环中没有变化,可以将其移动到setup()函数中,在循环中只更新变化的内容。
4. 使用lcd.clear()函数清除LCD屏幕:如果你需要更新整个屏幕的内容,可以在循环开始时调用lcd.clear()函数清除屏幕,然后重新显示所有内容。
以下是一个优化后的代码示例:
```cpp
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x20,20,4);
String line1 = " Bilibili Channel ";
String line2 = "-FreeRTOS on EPS32- ";
String line3 = "Study Hard & Smart";
void setup() {
Wire.setPins(4,5);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print(line1);
lcd.setCursor(0, 1);
lcd.print(line2);
lcd.setCursor(0, 2);
lcd.print(line3);
}
void loop() {
// 更新需要变化的内容
// line1 = ...
// line2 = ...
// line3 = ...
// 清除屏幕并重新显示所有内容
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(line1);
lcd.setCursor(0, 1);
lcd.print(line2);
lcd.setCursor(0, 2);
lcd.print(line3);
}
```
请根据你的需求更新`line1`、`line2`和`line3`的值,并在循环中更新这些变量的内容。然后在循环开始时调用lcd.clear()函数清除屏幕,并使用lcd.print()函数显示更新后的内容。
阅读全文