[002] [ESP32开发笔记] u8g2移植到esp32-idf

本文介绍了如何在ESP32开发环境中,使用VSCode和ESP-IDF插件配置u8g2库来驱动SSD1306 OLED显示屏。通过下载源码、删除不必要的驱动、修改CMakeLists.txt、定制回调函数以及初始化显示,实现了软件模拟SPI通信。最后展示了初始化OLED和显示 HelloWorld 的示例代码。

芯片型号:ESP32-S2-MINI-1
开发环境:VS Code + ESP-IDF插件

  • 从官方下载u8g2源码:u8g2
  • 复制csrc文件夹到工程目录下
    在这里插入图片描述
  • 将不必要的外设驱动(u8x8_d_xxx.c)删除,只保留需要使用的驱动(u8g2_d_memory.cu8g2_d_setup.c要保留),下面以ssd1306为例,保留u8x8_d_ssd1306_128x64_noname.c文件
    在这里插入图片描述
  • 删除后,将c/h文件独立放在两个文件夹下:
u8g2
    ├─inc
    │      mui.h
    │      mui_u8g2.h
    │      u8g2.h
    │      u8x8.h
    │      
    └─src
            mui.c
            mui_u8g2.c
            u8g2_bitmap.c
            u8g2_box.c
            u8g2_buffer.c
            u8g2_button.c
            u8g2_circle.c
            u8g2_cleardisplay.c
            u8g2_d_memory.c
            u8g2_d_setup.c
            u8g2_font.c
            u8g2_fonts.c
            u8g2_hvline.c
            u8g2_input_value.c
            u8g2_intersection.c
            u8g2_kerning.c
            u8g2_line.c
            u8g2_ll_hvline.c
            u8g2_message.c
            u8g2_polygon.c
            u8g2_selection_list.c
            u8g2_setup.c
            u8log.c
            u8log_u8g2.c
            u8log_u8x8.c
            u8x8_8x8.c
            u8x8_byte.c
            u8x8_cad.c
            u8x8_capture.c
            u8x8_debounce.c
            u8x8_display.c
            u8x8_d_ssd1306_128x64_noname.c
            u8x8_fonts.c
            u8x8_gpio.c
            u8x8_input_value.c
            u8x8_message.c
            u8x8_selection_list.c
            u8x8_setup.c
            u8x8_string.c
            u8x8_u16toa.c
            u8x8_u8toa.c
  • u8g2文件夹放在components组件下
    在这里插入图片描述
  • 修改components组件的CMakeLists.txt
# components组件编译时会被自动构建(依据idf_component_register包含的头文件)
file(GLOB_RECURSE SOURCES u8g2/src/*.c)
idf_component_register(SRCS ${
   
   SOURCES}
                       INCLUDE_DIRS "u8g2/inc") 
  • 删除u8g2_d_setup.c中不必要的内容,只保留u8g2_Setup_ssd1306_128x64_noname_f函数
#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柯西的彷徨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值