Arduino(九)——lcd时钟以及库函数介绍
发布网友
发布时间:2024-10-18 20:44
我来回答
共1个回答
热心网友
时间:2024-11-20 22:05
Arduino(九)——LCD时钟及库函数详解
在深入理解Arduino编程后,我们来详细探讨LiquidCrystal库和串口通信相关的函数。
LiquidCrystal库是Arduino与LCD显示器交互的核心,通过以下函数设置和控制LCD:
通过 LiquidCrystal(rs, (rw), enable, (d0, d1, d2, d3), d4, d5, d6, d7) 初始化LCD,参数分别对应控制引脚。
lcd.begin(cols, rows) 设置LCD的列数和行数。
lcd.clear(), lcd.home(), lcd.setCursor(col, row), lcd.write(data) 分别用于清屏、复位光标、设置光标位置和输出字符。
字符串操作函数如 lcd.print(data) 可输出一串字符,而 lcd.no*() 系列方法控制光标、闪烁和显示状态。
滚动显示和自动滚屏功能通过 lcd.scrollDisplayLeft/Right(), lcd.a/Autoscroll() 实现。
自定义字符通过 lcd.createChar(num, data) 创建,num为编号,data为像素数据。
在模拟串口通信方面,SoftwareSerial类提供了:
SoftwareSerial mySerial(rxPin, txPin) 创建软串口。
mySerial.listen(), mySerial.isListening(), mySerial.overflow() 分别用于监听、判断监听状态和检查溢出。
对于硬件串口(UART),如Serial类提供了接收、发送、搜索和控制功能,如:
Serial.available(), Serial.begin(), Serial.end(), Serial.find(), Serial.flush(), Serial.read(), Serial.write() 等。
两个设备通过交叉连接TX和RX,并将GND相连。在Arduino Mega中,Serial类扩展到了多个实例。
IIC总线通信则通过Wire类库,如:
Wire.begin(), Wire.requestFrom(), Wire.beginTransmission(), Wire.write(), Wire.available(), Wire.read(), Wire.onReceive(), Wire.onRequest() 等。
此外,EEPROM类库用于存储数据,如 EEPROM.write(), EEPROM.read(),以及使用union类型处理大数据的存储和读取。