| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 0.96寸OLED显示屏标准库移植HAL库(模拟IIC) - 基于STM32 -> 正文阅读 |
|
[嵌入式]0.96寸OLED显示屏标准库移植HAL库(模拟IIC) - 基于STM32 |
** 0.96寸OLED显示屏标准库移植HAL库,使用模拟IIC** 由于项目的需要使用OLED屏显示,并且现有的项目程序是基于HAL库编写的,而手头能找到的程序是标准库的驱动程序,大概看了一下代码,比较简单,涉及到不同库之间需要改动的代码很少。 代码下载链接:点击此处下载驱动代码 首先去LCDWiKi网站( 链接)下载基于0.96寸OLED屏的IIC驱动代码,这个网站包含了常用显示模块的驱动代码,十分方便,本次我选择的是0.96inch OLED Module SKU:MC096GX。 下载后只需要oled屏的oled.c、oled.h和oledfont.h代码,但是需要改动如下几个地方的代码 2.将oled.c文件中的所有包含“u8”和“u32”的函数改为"uint8_t"和"uint32_t"; 3.删除#include "sys.h"和#include “delay.h”,增加#include “stm32g4xx_hal.h”(这里根据自身使用的32芯片定义,我这里用到的是stm32g4系列芯片)。 其次改动oled.h:
改为
将数据线
改为
2.同oled.c一样,将oled.h文件中的所有包含“u8”和“u32”的函数改为"uint8_t"和"uint32_t"; 3.删除#include “sys.h”,增加#include “stm32g4xx_hal.h”(这里根据自身使用的32芯片定义,我这里用到的是stm32g4系列芯片)。 经过以上步骤,所有移植就完成了,使用CUBEMX创建工程,配置好时钟线和数据线,生成代码,使用keil打开工程,将oled.c放入src文件夹,oled.h文件和oledfont.h文件放入inc文件夹,在主函数main.c中初始化OLED,我的测试函数如下:
最后的显示效果如下,移植成功: OLED屏的驱动电路是自己画的,没用到模块,顺便附上原理图: |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/29 7:58:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |