文章目录
- U8g2
- 1. `begin`
- 1. `bool U8G2::begin(void)`
- 2. `bool U8G2::begin(uint8_t menu_select_pin, uint8_t menu_next_pin, uint8_t menu_prev_pin, uint8_t menu_up_pin = U8X8_PIN_NONE, uint8_t menu_down_pin = U8X8_PIN_NONE, uint8_t menu_home_pin = U8X8_PIN_NONE)`
- 备注:
- 2. `clear`
- 3. `clearBuffer`
- 4. `clearDisplay`
- 5. `disableUTF8Print`
- 6. `drawArc`
- 7. `drawBitmap`
- 8. `drawBox`
- 9. `drawButtonUTF8`
- 10. `drawCircle`
- 11. `drawDisc`
- 12. `drawEllipse`
- 13. `drawFilledEllipse`
- 14. `drawFrame`
- 15. `drawGlyph`
- 16. `drawHLine`
- 17. `drawLine`
- 18. `drawPixel`
- 19. `drawRBox`
- 20. `drawRFrame`
- 21. `drawStr`
- 22. `drawTriangle`
- 23. `drawUTF8`
- 24. `drawVLine`
- 25. `drawXBM`
- 26. `drawXBMP`
- 27. `enableUTF8Print`
- 28. `firstPage`
- 29. `getAscent`
- 30. `getDescent`
- 31. `getDisplayHeight`
- 32. `getDisplayWidth`
- 33. `getMaxCharHeight`
- 34. `getMaxCharWidth`
- 35. `getMenuEvent`
- 36. `getStrWidth`
- 37. `getU8g2`
- 38. `getU8x8`
- 39. `getUTF8Width`
- 40. `getXOffsetGlyph`
- 41. `getXOffsetUTF8`
- 42. `home`
- 43. `initDisplay`
- 44. `initInterface`
- 45. `nextPage`
- 46. `print`
- 47. `sendBuffer`
- 48. `sendF`
- 49. `setAutoPageClear`
- 50. `setBitmapMode`
- 51. `setBusClock`
- 52. `setClipWindow`
- 53. `setContrast`
- 54. `setCursor`
- 56. `setDrawColor`
- 57. `setFlipMode`
- 58. `setFont`
- 59. `setFontDirection`
- 60. `setFontMode`
- 61. `setFontPosBaseline`
- 62. `setFontPosBottom`
- 63. `setFontPosTop`
- 64. `setFontPosCenter`
- 65. `setFontRefHeightAll`
- 66. `setFontRefHeightExtendedText`
- 67. `setFontRefHeightText`
- 68. `setI2CAddress`
- 69. `setMaxClipWindow`
- 70. `setPowerSave`
- 71. `updateDisplay`
- 72. `updateDisplayArea`
- 73. `userInterfaceInputValue`
- 74. `userInterfaceMessage`
- 75. `userInterfaceSelectionList`
- 76. `writeBufferPBM`
- 77. `writeBufferPBM2`
- 78. `writeBufferXBM`
- 79. `writeBufferXBM2`
- 80. `getBufferSize`
- 81. `setBufferPtr`
- 82. `getBufferPtr`
- 83. `getBufferTileHeight`
- 84. `getBufferTileWidth`
- 85. `getBufferCurrTileRow`
- 86. `setBufferCurrTileRow`
U8g2
U8g2 库提供了丰富的函数来操作和控制显示器。以下是 U8g2 中各种常用函数的详细介绍,包括函数作用、原型、参数、返回值以及可能的值。对于函数的重载,我也会一一列出。
1. begin
作用:
初始化显示器。
原型:
void begin();
参数:
无。
返回值:
无。
谢谢提醒!确实漏掉了这两个 U8G2::begin()
的重载版本。以下是这两个重载版本的详细介绍:
1. bool U8G2::begin(void)
作用:
初始化显示器,使用默认的引脚设置进行配置。通常用于简单的显示初始化,不涉及复杂的硬件控制或用户输入。
原型:
bool U8G2::begin(void);
参数:
无参数。
返回值:
- 返回
true
如果初始化成功。 - 返回
false
如果初始化失败。
2. bool U8G2::begin(uint8_t menu_select_pin, uint8_t menu_next_pin, uint8_t menu_prev_pin, uint8_t menu_up_pin = U8X8_PIN_NONE, uint8_t menu_down_pin = U8X8_PIN_NONE, uint8_t menu_home_pin = U8X8_PIN_NONE)
作用:
此重载版本允许在初始化时指定与显示器交互的按键引脚,通常用于菜单系统或用户输入功能。可以指定用于选择、下一个、上一个、向上、向下、主页等的按钮引脚。此重载版本特别适合于那些需要物理按键进行菜单导航的应用。
原型:
bool U8G2::begin(uint8_t menu_select_pin, uint8_t menu_next_pin, uint8_t menu_prev_pin, uint8_t menu_up_pin = U8X8_PIN_NONE, uint8_t menu_down_pin = U8X8_PIN_NONE, uint8_t menu_home_pin = U8X8_PIN_NONE);
参数:
menu_select_pin
:选择按钮的引脚。menu_next_pin
:下一个按钮的引脚。menu_prev_pin
:上一个按钮的引脚。menu_up_pin
(可选):向上按钮的引脚,默认为U8X8_PIN_NONE
(表示没有定义此按钮)。menu_down_pin
(可选):向下按钮的引脚,默认为U8X8_PIN_NONE
(表示没有定义此按钮)。menu_home_pin
(可选):主页按钮的引脚,默认为U8X8_PIN_NONE
(表示没有定义此按钮)。
返回值:
- 返回
true
如果初始化成功。 - 返回
false
如果初始化失败。
备注:
U8X8_PIN_NONE
是一个特殊的值,用来表示未指定某个引脚,这些可选的引脚参数通常用于更复杂的用户交互,尤其是在带有菜单或物理按钮输入的应用场景中。
这两个 begin
重载版本的区别在于,第一个版本是最简单的初始化方法,而第二个版本则允许你配置更多与用户输入相关的引脚,以便控制菜单或交互逻辑。
2. clear
作用:
清除整个显示器的内容。
原型:
void clear();
参数:
无。
返回值:
无。
3. clearBuffer
作用:
清除显示缓存,但不更新显示器。可以在发送内容之前先清空缓存。
原型:
void clearBuffer();
参数:
无。
返回值:
无。
4. clearDisplay
作用:
清除显示屏内容并更新显示器。
原型:
void clearDisplay();
参数:
无。
返回值:
无。
5. disableUTF8Print
作用:
禁用 UTF-8 字符打印功能。
原型:
void disableUTF8Print();
参数:
无。
返回值:
无。
6. drawArc
作用:
绘制一个弧形。
原型:
void drawArc(int x, int y, int radius, int startAngle, int endAngle);
参数:
x
:弧心的 x 坐标。y
:弧心的 y 坐标。radius
:弧的半径。startAngle
:起始角度(以度为单位)。endAngle
:结束角度(以度为单位)。
返回值:
无。
7. drawBitmap
作用:
绘制位图图像。
原型:
void drawBitmap(int x, int y, int width, int height, const uint8_t *bitmap);
参数:
x
:位图左上角的 x 坐标。y
:位图左上角的 y 坐标。width
:位图宽度。height
:位图高度。bitmap
:指向位图数据的指针。
返回值:
无。
8. drawBox
作用:
绘制矩形。
原型:
void drawBox(int x, int y, int width, int height);
参数:
x
:矩形左上角的 x 坐标。y
:矩形左上角的 y 坐标。width
:矩形宽度。height
:矩形高度。
返回值:
无。
9. drawButtonUTF8
作用:
绘制按钮(支持 UTF-8 字符)。
原型:
void drawButtonUTF8(int x, int y, int width, int height, const char *text);
参数:
x
:按钮的左上角 x 坐标。y
:按钮的左上角 y 坐标。width
:按钮宽度。height
:按钮高度。text
:按钮显示的文本。
返回值:
无。
10. drawCircle
作用:
绘制圆形。
原型:
void drawCircle(int x, int y, int radius);
参数:
x
:圆心的 x 坐标。y
:圆心的 y 坐标。radius
:圆的半径。
返回值:
无。
11. drawDisc
作用:
绘制实心圆(盘形)。
原型:
void drawDisc(int x, int y, int radius);
参数:
x
:圆心的 x 坐标。y
:圆心的 y 坐标。radius
:圆的半径。
返回值:
无。
12. drawEllipse
作用:
绘制椭圆。
原型:
void drawEllipse(int x, int y, int width, int height);
参数:
x
:椭圆的中心 x 坐标。y
:椭圆的中心 y 坐标。width
:椭圆的宽度。height
:椭圆的高度。
返回值:
无。
13. drawFilledEllipse
作用:
绘制填充椭圆。
原型:
void drawFilledEllipse(int x, int y, int width, int height);
参数:
x
:椭圆的中心 x 坐标。y
:椭圆的中心 y 坐标。width
:椭圆的宽度。height
:椭圆的高度。
返回值:
无。
14. drawFrame
作用:
绘制一个边框框架。
原型:
void drawFrame(int x, int y, int width, int height);
参数:
x
:框架左上角的 x 坐标。y
:框架左上角的 y 坐标。width
:框架的宽度。height
:框架的高度。
返回值:
无。
15. drawGlyph
作用:
绘制一个字符(单个图形元素)。
原型:
void drawGlyph(int x, int y, uint16_t code);
参数:
x
:字符的 x 坐标。y
:字符的 y 坐标。code
:字符的编码(例如字母 ‘A’ 的编码)。
返回值:
无。
16. drawHLine
作用:
绘制水平线。
原型:
void drawHLine(int x, int y, int length);
参数:
x
:水平线的起点 x 坐标。y
:水平线的起点 y 坐标。length
:水平线的长度。
返回值:
无。
17. drawLine
作用:
绘制一条线段。
原型:
void drawLine(int x1, int y1, int x2, int y2);
参数:
x1
,y1
:起点坐标。x2
,y2
:终点坐标。
返回值:
无。
18. drawPixel
作用:
绘制一个像素点。
原型:
void drawPixel(int x, int y);
参数:
x
:像素的 x 坐标。y
:像素的 y 坐标。
返回值:
无。
19. drawRBox
作用:
绘制一个圆角矩形。
原型:
void drawRBox(int x, int y, int width, int height, int radius);
参数:
x
:矩形左上角的 x 坐标。y
:矩形左上角的 y 坐标。width
:矩形的宽度。height
:矩形的高度。radius
:圆角的半径。
返回值:
无。
20. drawRFrame
作用:
绘制带圆角的矩形边框。
原型:
void drawRFrame(int x, int y, int width, int height, int radius);
参数:
x
:矩形左上角的 x 坐标。y
:矩形左上角的 y 坐标。width
:矩形的宽度。height
:矩形的高度。radius
:圆角的半径。
返回值:
无。
21. drawStr
作用:
绘制一个字符串。
原型:
void drawStr(int x, int y, const char *str);
参数:
x
:字符串的起始 x 坐标。y
:字符串的起始 y 坐标。str
:要绘制的字符串。
返回值:
无。
22. drawTriangle
作用:
绘制一个三角形。
原型:
void drawTriangle(int x1, int y1, int x2, int y2, int x3, int y3);
参数:
-
x1
,y1
:第一个顶点坐标。 -
x2
,y2
:第二个顶点坐标。 -
x3
,y3
:第三个顶点坐标。
返回值:
无。
23. drawUTF8
作用:
绘制 UTF-8 编码的字符串。
原型:
void drawUTF8(int x, int y, const char *str);
参数:
x
:字符串的起始 x 坐标。y
:字符串的起始 y 坐标。str
:UTF-8 编码的字符串。
返回值:
无。
24. drawVLine
作用:
绘制垂直线。
原型:
void drawVLine(int x, int y, int length);
参数:
x
:垂直线的起点 x 坐标。y
:垂直线的起点 y 坐标。length
:垂直线的长度。
返回值:
无。
25. drawXBM
作用:
绘制 XBM 格式的图像。
原型:
void drawXBM(int x, int y, const uint8_t *bitmap);
参数:
x
:图像的左上角 x 坐标。y
:图像的左上角 y 坐标。bitmap
:XBM 格式的图像数据。
返回值:
无。
26. drawXBMP
作用:
绘制 XBMP 格式的图像。
原型:
void drawXBMP(int x, int y, int width, int height, const uint8_t *bitmap);
参数:
x
:图像的左上角 x 坐标。y
:图像的左上角 y 坐标。width
:图像宽度。height
:图像高度。bitmap
:位图数据。
返回值:
无。
27. enableUTF8Print
作用:
启用 UTF-8 打印功能。
原型:
void enableUTF8Print();
参数:
无。
返回值:
无。
28. firstPage
作用:
开始显示页面的绘制。用于分页显示。
原型:
bool firstPage();
参数:
无。
返回值:
返回 true
表示可以开始绘制第一页。
29. getAscent
作用:
获取字体的上升线(字符的顶部)。
原型:
int getAscent();
参数:
无。
返回值:
字体的上升线高度。
30. getDescent
作用:
获取字体的下降线(字符的底部)。
原型:
int getDescent();
参数:
无。
返回值:
字体的下降线高度。
31. getDisplayHeight
作用:
获取显示器的高度。
原型:
int getDisplayHeight();
参数:
无。
返回值:
显示器的高度。
32. getDisplayWidth
作用:
获取显示器的宽度。
原型:
int getDisplayWidth();
参数:
无。
返回值:
显示器的宽度。
33. getMaxCharHeight
作用:
获取字体的最大高度。
原型:
int getMaxCharHeight();
参数:
无。
返回值:
字体的最大高度。
34. getMaxCharWidth
作用:
获取字体的最大宽度。
原型:
huoqu
参数:
无。
返回值:
字体的最大宽度。
35. getMenuEvent
作用:
获取菜单事件(用于用户交互)。
原型:
int getMenuEvent();
参数:
无。
返回值:
返回菜单事件类型。
36. getStrWidth
作用:
获取字符串的宽度。
原型:
int getStrWidth(const char *str);
参数:
str
:要测量的字符串。
返回值:
字符串的宽度。
37. getU8g2
作用:
获取 U8g2 对象。
原型:
U8g2 &getU8g2();
参数:
无。
返回值:
返回 U8g2 对象的引用。
38. getU8x8
作用:
获取 U8x8 对象。
原型:
U8x8 &getU8x8();
参数:
无。
返回值:
返回 U8x8 对象的引用。
39. getUTF8Width
作用:
获取 UTF-8 字符串的宽度。
原型:
int getUTF8Width(const char *str);
参数:
str
:UTF-8 编码的字符串。
返回值:
UTF-8 字符串的宽度。
40. getXOffsetGlyph
作用:
获取字形的偏移量。
原型:
int getXOffsetGlyph(uint16_t code);
参数:
code
:字符编码。
返回值:
字形的 x 偏移量。
41. getXOffsetUTF8
作用:
获取 UTF-8 字符的 x 偏移量。
原型:
int getXOffsetUTF8(const char *str);
参数:
str
:UTF-8 编码的字符串。
返回值:
UTF-8 字符的 x 偏移量。
42. home
作用:
将光标返回到原点 (0, 0)。
原型:
void home();
参数:
无。
返回值:
无。
43. initDisplay
作用:
初始化显示器。
原型:
void initDisplay();
参数:
无。
返回值:
无。
44. initInterface
作用:
初始化显示接口。
原型:
void initInterface();
参数:
无。
返回值:
无。
45. nextPage
作用:
继续到下一页的绘制。用于分页显示。
原型:
bool nextPage();
参数:
无。
返回值:
返回 true
表示可以继续绘制下一页。
46. print
作用:
打印内容。
原型:
void print(const char *str);
参数:
str
:要打印的字符串。
返回值:
无。
47. sendBuffer
作用:
发送显示缓冲区的内容到显示器。
原型:
void sendBuffer();
参数:
无。
返回值:
无。
48. sendF
作用:
发送格式化内容到显示器。
原型:
void sendF(const char *format, ...);
参数:
format
:格式化字符串。
返回值:
无。
49. setAutoPageClear
作用:
设置自动清除页面的模式。
原型:
void setAutoPageClear(bool enable);
参数:
enable
:启用或禁用自动清除页面。
返回值:
无。
50. setBitmapMode
作用:
设置位图模式。
原型:
void setBitmapMode(bool mode);
参数:
mode
:启用或禁用位图模式。
返回值:
无。
51. setBusClock
作用:
设置总线时钟。
原型:
void setBusClock(uint32_t clock);
参数:
clock
:总线时钟频率。
返回值:
无。
52. setClipWindow
作用:
设置剪裁窗口。
原型:
void setClipWindow(int x, int y, int width, int height);
参数:
x
:剪裁区域的左上角 x 坐标。y
:剪裁区域的左上角 y 坐标。width
:剪裁区域的宽度。height
:剪裁区域的高度。
返回值:
无。
53. setContrast
作用:
设置显示器的对比度。
原型:
void setContrast(uint8_t contrast);
参数:
contrast
:对比度值。
返回值:
无。
54. setCursor
作用:
设置文本光标的位置。
原型:
void setCursor(int x, int y);
#### 参数:
- `x`:光标的 x 坐标。
- `y`:光标的 y 坐标。
#### 返回值:
无。
---
### 55. `setDisplayRotation`
#### 作用:
设置显示器的旋转角度。
#### 原型:
```cpp
void setDisplayRotation(uint8_t rotation);
参数:
rotation
:旋转角度(0、90、180 或 270)。
返回值:
无。
56. setDrawColor
作用:
设置绘制的颜色。
原型:
void setDrawColor(uint8_t color);
参数:
color
:颜色(0 表示黑色,1 表示白色)。
返回值:
无。
57. setFlipMode
作用:
设置显示翻转模式。
原型:
void setFlipMode(bool flip);
参数:
flip
:启用或禁用翻转。
返回值:
无。
58. setFont
作用:
设置字体。
原型:
void setFont(const uint8_t *font);
参数:
font
:指向字体数据的指针。
返回值:
无。
59. setFontDirection
作用:
设置字体的方向。
原型:
void setFontDirection(uint8_t direction);
参数:
direction
:字体的方向(0:正常,1:逆时针,2:顺时针)。
返回值:
无。
60. setFontMode
作用:
设置字体模式。
原型:
void setFontMode(uint8_t mode);
参数:
mode
:字体模式。
返回值:
无。
61. setFontPosBaseline
作用:
设置字体的基线位置。
原型:
void setFontPosBaseline();
参数:
无。
返回值:
无。
62. setFontPosBottom
作用:
设置字体的底部位置。
原型:
void setFontPosBottom();
参数:
无。
返回值:
无。
63. setFontPosTop
作用:
设置字体的顶部位置。
原型:
void setFontPosTop();
参数:
无。
返回值:
无。
64. setFontPosCenter
作用:
设置字体的中心位置。
原型:
void setFontPosCenter();
参数:
无。
返回值:
无。
65. setFontRefHeightAll
作用:
设置字体的参考高度为所有字符的高度。
原型:
void setFontRefHeightAll();
参数:
无。
返回值:
无。
66. setFontRefHeightExtendedText
作用:
设置字体的参考高度为扩展文本的高度。
原型:
void setFontRefHeightExtendedText();
参数:
无。
返回值:
无。
67. setFontRefHeightText
作用:
设置字体的参考高度为普通文本的高度。
原型:
void setFontRefHeightText();
参数:
无。
返回值:
无。
68. setI2CAddress
作用:
设置 I2C 地址。
原型:
void setI2CAddress(uint8_t address);
参数:
address
:I2C 地址。
返回值:
无。
69. setMaxClipWindow
作用:
设置最大剪裁窗口。
原型:
void setMaxClipWindow();
参数:
无。
返回值:
无。
70. setPowerSave
作用:
设置显示器的省电模式。
原型:
void setPowerSave(bool enable);
参数:
enable
:启用或禁用省电模式。
返回值:
无。
71. updateDisplay
作用:
更新显示器。
原型:
void updateDisplay();
参数:
无。
返回值:
无。
72. updateDisplayArea
作用:
更新显示器的特定区域。
原型:
void updateDisplayArea(int x, int y, int width, int height);
参数:
x
:区域左上角的 x 坐标。y
:区域左上角的 y 坐标。width
:区域的宽度。height
:区域的高度。
返回值:
无。
73. userInterfaceInputValue
作用:
提供用户界面的输入值。
原型:
void userInterfaceInputValue();
参数:
无。
返回值:
无。
74. userInterfaceMessage
作用:
显示用户界面信息。
原型:
void userInterfaceMessage();
参数:
无。
返回值:
无。
75. userInterfaceSelectionList
作用:
显示用户界面选择列表。
原型:
void userInterfaceSelectionList();
参数:
无。
返回值:
无。
76. writeBufferPBM
作用:
以 PBM 格式写入缓冲区。
原型:
void writeBufferPBM();
参数:
无。
返回值:
无。
77. writeBufferPBM2
作用:
以 PBM 格式写入缓冲区(第二种方式)。
原型:
void writeBufferPBM2();
参数:
无。
返回值:
无。
78. writeBufferXBM
作用:
以 XBM 格式写入缓冲区。
原型:
void writeBufferXBM();
参数:
无。
返回值:
无。
79. writeBufferXBM2
作用:
以 XBM 格式写入缓冲区(第二种方式)。
原型:
void writeBufferXBM2();
参数:
无。
返回值:
无。
80. getBufferSize
作用:
获取显示缓冲区的大小。
原型:
size_t getBufferSize();
参数:
无。
返回值:
显示缓冲区的大小。
81. setBufferPtr
作用:
设置显示缓冲区指针。
原型:
void setBufferPtr(uint8_t *ptr);
参数:
ptr
:指向缓冲区的指针。
返回值:
无。
82. getBufferPtr
作用:
获取显示缓冲区指针。
原型:
uint8_t* getBufferPtr();
参数:
无。
返回值:
返回指向缓冲区的指针。
83. getBufferTileHeight
作用:
获取缓冲区的 tile 高度。
原型:
int getBufferTileHeight();
参数:
无。
返回值:
缓冲区 tile 的高度。
84. getBufferTileWidth
作用:
获取缓冲区的 tile 宽度。
原型:
int getBufferTileWidth();
参数:
无。
返回值:
缓冲区 tile 的宽度。
85. getBufferCurrTileRow
作用:
获取当前缓冲区的 tile 行数。
原型:
int getBufferCurrTileRow();
参数:
无。
返回值:
当前缓冲区的 tile 行数。
86. setBufferCurrTileRow
作用:
设置当前缓冲区的 tile 行数。
原型:
void setBufferCurrTileRow(int row);
参数:
row
:tile 行数。
返回值:
无。