你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

ST NUCLEO-U575ZI-Q 移植U8g2的测评

[复制链接]
STMCU小助手 发布时间:2023-1-10 17:10

U8g2是嵌入式设备的单色图形库,一句话简单明了。主要应用于嵌入式设备,当然我们强大的 NUCLEO-U575ZI-Q肯定也是支持的喽,今天就移植U8g2库如下:

# 下载安装U8g2库:

090731fsdq7dv0hdymzdd7.png.thumb.png


. l6 q9 D0 U! J   090815xu3nvvlthhhaldjh.png.thumb.png
! ?9 a9 H% Z6 E, T; a   等下载好后,书写主程序如下:! m3 P- q+ D9 y1 R
  1. #include <Arduino.h>
    / Q! j2 a) n7 c
  2. #include <Wire.h>  Z6 C' ^( U+ A8 k
  3. #include <SPI.h>
    & L  s8 {+ Q  U0 x; D5 t% h
  4. #include <U8g2lib.h>9 l4 Q1 V, f( [# z; g/ a
  5. & S& j- h/ p; t4 ~; u$ g* T* a
  6. #define U8X8_HAVE_HW_I2C
    & ^; {. \" M  ~' Z9 U6 \
  7. ' n: @2 e6 S5 ~+ _) ~
  8. #ifdef U8X8_HAVE_HW_I2C. a, L4 b) p3 Y& u7 U- u5 i1 h
  9. #include <Wire.h>
    ! B) p) F  n7 A
  10. #endif5 U- r7 @. _. R. _. c7 ^6 s
  11. 4 ?4 ^1 v/ @& n
  12. U8G2_SSD1306_128X64_NONAME_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);
    $ j( H2 E. l+ q! e$ H/ z% Z
  13. 4 O* P, m7 e% }2 K
  14. + x5 h; N. o; l) x

  15. 4 @! s2 \% S' y1 `2 X
  16. void setup(void) {
    # R# Z. ^2 C8 k% z6 U1 P/ Y! ]1 y

  17. $ O8 M6 H7 @* @% ^8 N8 t/ w, o
  18.   /* U8g2 Project: SSD1306 Test Board */
    - R- I; n7 N* h) y1 |& U
  19. ' y0 A+ z! b9 L! D' I, F' G
  20.   u8g2.begin();  
    + ]  S7 a% ~9 i; y, y$ C: P4 g. f
  21. }2 @9 u* F# x# |. @3 }7 W
  22. 6 C' b1 B+ ?1 x8 U& W1 F
  23. uint8_t m = 24;1 B3 f8 R+ O4 D  r, ?

  24. 3 e0 u! f, j! k3 [  x
  25. void loop(void) {
    ! b% M+ T. F& G! p( z1 \
  26.   char m_str[3];
    + z1 R% V! j$ n
  27.   strcpy(m_str, u8x8_u8toa(m, 2));                /* convert m to a string with two digits */" N7 J9 d" ]* S/ z( Z+ ?2 c/ q
  28.   u8g2.firstPage();
    0 {% K* B- c+ P, k* N
  29.   do {" z  |- x  i, Q+ a( r) I* @
  30.     u8g2.setFont(u8g2_font_logisoso62_tn);
    & L9 i6 r9 z0 \+ `- U1 w9 v% X
  31.     u8g2.drawStr(0,63,"9");+ k0 P; \. B+ r5 J- s+ ^
  32.     u8g2.drawStr(33,63,":");% C4 o9 B% J: f" f7 ?4 ~
  33.     u8g2.drawStr(50,63,m_str);
    4 I5 W6 i' v" P* Z) D
  34.   } while ( u8g2.nextPage() );
    & l& @. B' W9 V" s! r+ H1 i- c
  35.   delay(1000);
    7 {2 ^8 c8 R" o0 @
  36.   m++;% K, q/ A& L8 h$ q7 @
  37.   if ( m == 60 )/ t! w" b9 Y8 f# N5 M
  38.     m = 0;
    6 M, \1 y! j& W4 {8 O
  39. }
复制代码

( k* c1 K. L; }; W: H

编译后上传,就成功实现了仿时钟界面: 114819eu3khges3q3qgg4u.jpg.thumb.jpg

2 M. k7 _2 n3 k' B5 h: E" p7 ^1 K

出处:社区用户:lugl发布

# h2 d) y+ B) w2 Z

- S4 g. v6 L6 }$ n4 k- K
赞 收藏 评论0 发布时间:2023-1-10 17:10

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版