环境

硬件环境:STM32MP157C-DK2

软件:

u8g2

u8g2 是面向嵌入式设备的单色图形库,什么意思呢,如果你做些嵌入式设备,恰好是用单色显示设备(可以是单色LCD,OLED,LED点阵屏等),用这个可就很方便了,直接使用u8g2 API来显示字符或者图片等,不用知道这些显示设备的底层操作。

u8g2 github地址是https://github.com/olikraus/u8g2,还有官方文档, 官方提供的例子 ,不过这些都是MCU的,如果要在Linux上使用呢?已经有人移植了,在github上可以找到:https://github.com/wuhanstudio/u8g2-arm-linux

在STM32MP157C-DK2上使用u8g2

下载u8g2

首先下载下来:

在目录u8g2-arm-linux\examples下有两个例程,一个是SPI驱动SSD1306 OLED,一个是I2C前驱动SSD1306 OLED,正好我手上有I2C接口的SSD1306 OLED模块。

修改源码

  • 修改makefile

分别把u8g2-arm-linux/examples\u8g2_hw_i2cu8g2-arm-linux\examples\u8g2_4wire_hw_spi目录下的makefile中的CC赋值的语句注释掉:

  • 修改例程

然后修改u8g2-arm-linux/examples\u8g2_hw_i2c\main.c文件,原来的程序如下图:

把显示的文字修改为:U8g2 on STM32MPU

编译

首先使能SDK,然后输入make就可以编译。编译完之后,在bin目录下可以找到编译出来的可执行文件,

把bin目录中的u8g2_hw_i2c拷贝到STM32MPU板子上。

连接硬件并测试程序

该例子使用的I2C是i2c-0:

STM32MP157C-DK2引出的IO如下:

把显示器连上板子,执行程序,结果如下:

显示板子的IP地址

尝试使用下u8g2,试着在OLED上显示板子的IP地址,

参考:

https://blog.csdn.net/dpjcn1990/article/details/92831760#21_U8g2_26

最新文章

  1. velocity中$springMacroRequestContext.getMessage($code)
  2. ADO.NET-SqlHelper
  3. 初学Python
  4. Linux-文件和目录操作命令
  5. BigDecimal
  6. 集DDD,TDD,SOLID,MVVM,DI,EF,Angularjs等于一身的.NET(C#)开源可扩展电商系统–Virto Commerce
  7. iOS架构网址
  8. cocos2dx jsoncpp
  9. React-Native的基本控件属性方法
  10. 素数筛&&欧拉筛
  11. Yii render和renderPartial的区别
  12. php返回相对时间(如:20分钟前,3天前)的方法
  13. redis3.0集群使用发现的一些问题
  14. C语言学习笔记--结构体
  15. git 学习笔记一
  16. (转)iOS项目的目录结构和开发流程
  17. Python Redis 数据复制.
  18. (转)C#中各种集合类比较
  19. 浏览器之window对象--javascript
  20. java线程通信与协作小结 多线程中篇(十六)

热门文章

  1. 【近取 Key】Alpha - 项目展示
  2. 说了你可能不信leetcode刷题局部链表反转D92存在bug,你看了就知道了
  3. pass在if中
  4. cms菜单栏二级折叠与交互解决方案(js)(1)
  5. ART-TEMPLATE的核心语法
  6. prometheus node-exporter增加新的自定义监控项
  7. [python3.7]列表
  8. Mysql数据库基础增删改查常用语句命令
  9. 012.Kubernetes的configmap和secret配置
  10. IT菜鸟之DHCP