当前位置: 首页 > article >正文

STM32Cubemx-H7-7-OLED屏幕

如何把江科大的OLED标准库文件换成hal库的文件

前言

本文讲解如在hHAL库中使用OLED,其实江科大做的文件好已经很好了

只讲操作,不讲废话,默认大家都有32基本操作

创建工程

首先创建工程

 把那两个引脚设置成开漏

获取标准库文件

打开江科大OLED的文档,然后把这三个工程文件放到目录下

添加文件位置

然后打开魔法棒添加文件位置

然后把三个文件添加进来

总修改内容

把OLED.c的前面几个文件修改就可以用了

#include "gpio.h"
#include "OLED_Font.h"

/*引脚配置*/
#define OLED_W_SCL(x)		HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8,(x))
#define OLED_W_SDA(x)		HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9,(x))

/*引脚初始化*/
void OLED_I2C_Init(void)
{
	OLED_W_SCL(1);
	OLED_W_SDA(1);
}

只用改这里

这里说明下为什么这样改

理解为什么修改源文件的几行代码就可以在HAL中使用

首先是

#include "stm32f10x.h"

因为我们是用HAL库,而且都已经在Cubemx配置好了,引脚初始化都在gpio.c里面了,所以直接把gpio.h文件放进来就好

所以就修改成

#include "gpio.h"

然后是

#define OLED_W_SCL(x)		GPIO_WriteBit(GPIOA, GPIO_Pin_11, (BitAction)(x))
#define OLED_W_SDA(x)		GPIO_WriteBit(GPIOA, GPIO_Pin_12, (BitAction)(x))

因为标准库和HAL库的库不同,定义输出函数也不一样,里面的参数也不一样,所以要把函数修改

#define OLED_W_SCL(x)		HAL_GPIO_WritePin(GPIOB, GPIO_PIN_8,(x))
#define OLED_W_SDA(x)		HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9,(x))

HAL库的GPIO_PIN是都大写,参数是不一样的,然后直接给0和1 就行

void OLED_I2C_Init(void)
{

	OLED_W_SCL(1);
	OLED_W_SDA(1);
}

因为已经在gpio.c里面初始化过了,所以直接开始给高就行

在main.c中加入头文件

  OLED_Init();
  while (1)
  {
      OLED_ShowString(1,1,"Hellow World!");

试试Hellow函数

结果验证

成功实现输出!


http://www.kler.cn/a/586350.html

相关文章:

  • OkHttp 的证书设置
  • 蓝桥杯——路标设置
  • Celery - 入门(get-started)
  • 精准车型识别:视觉分析技术的力量
  • 海鲜水产行业wordpress外贸主题
  • Golang Channel 使用详解、注意事项与死锁分析
  • 软考教材重点内容 信息安全工程师 第19章 操作系统安全保护
  • Dify1.01版本vscode 本地环境搭建运行实践
  • AI+Python机器学习小项目教程(数据分类)
  • 算法基础 -- Brian Kernighan 算法初识
  • 基础知识《HTTP字段与状态码详细说明》
  • 【基于 SSE 协议与 EventSource 实现 AI 对话的流式交互】
  • Stable Diffusion API /sdapi/v1/txt2img的完整参数列表及其说明
  • leetcode hot 100(三)
  • python全栈-MySQL知识
  • MySQL:MySQL库和表的基本操作
  • SpringBoot实现一个Redis限流注解
  • Springboot项目修改端口
  • 深入理解Spring Boot:快速构建现代化的Java应用
  • 【调研】模型输出内容的json形式content怎样处理可以转换为json?