stm32 hal库i2c 0.96_oled显示


前言

oled显示的代码淘宝店家会提供,但是呢不知道为什么我的f401ccu6就是点不亮oled,所以只好从github上找到了一个,这个写的很全但是呢,使用keil的话需要移植一下,过程也不复杂,不过我已经移植好了,直接用就可以了。
oled程序文件下载地址
这个是本文的github的地址


I2C

一、cubemx的配置

我们使用硬件i2c进行数据的传输
我们使用阻塞模式不用开启dma和中断
在这里插入图片描述

二、库的引入和修改

1.引入库

文件直接在这里看一看到到
需要将这些文件都放在你的项目中
其中的tests文件是用于测试的,第一次用的时候可以用它来测试。
在这里插入图片描述

2.修改成自己的函数

ssd1306_conf.h中修改成自己的那个芯片
在这里插入图片描述
以及你需要的那个i2c如果你用的是2的话你就改成hi2c2即可

在这里插入图片描述
ssd1306.c中需要改成你需要的那个函数,我这里用的是阻塞模式,

其实用阻塞模式也就可以了,没必要上DMA

在这里插入图片描述

3.测试

直接在主函数里面加入这个即可。

在这里插入图片描述

三、库函数

所有的库函数都可以在ssd1306.h中看到
这里讲解几个比较重要的
1.

ssd1306_Fill(SSD1306_COLOR color);

这个函数就是填充整个屏幕的,这个函数调用以后立即执行,不会需要额外的刷新
函数的参数有BlackWhite
2.

ssd1306_DrawPixel(uint8_t x, uint8_t y, SSD1306_COLOR color);

这是一个画点的函数。
函数的参数为点的坐标以及颜色。
要注意 这个函数执行完成以后会将屏幕的显示数据存放在数组中,只有执行ssd1306_UpdateScreen(void);这个函数以后,屏幕才会显示,后面的所以显示字符以及画圆之类的都是这样!!
3.

char ssd1306_WriteChar(char ch, FontDef Font, SSD1306_COLOR color);
char ssd1306_WriteString(char* str, FontDef Font, SSD1306_COLOR color);

这个两个函数是用来显示字符的,第一个是单个字符、第二个是字符串。
但是你发现没有设置坐标。
所以需要先调用ssd1306_SetCursor(uint8_t x, uint8_t y);
每次在某个地方显示字符串的时候都需要先调用这个坐标函数。

函数的参数中的第二个参数FontDef Font是选择字符大小的。
可以调用以下几个,分别表示不同大小的字符

Font_6x8;
Font_7x10;
Font_11x18;
Font_16x26;
Font_16x24;

总结

2023.6.8
第一版
说明了i2c点亮oled的配置。

STM32F103C8T6是一款基于ARM Cortex-M3内核的微控制器,而0.96英寸OLED是一种显示屏。在使用CUBEIDE配置STM32F103C8T6和0.96英寸OLED之前,你需要进行以下几个步骤: 1. 下载和安装CUBEIDE:首先,你需要从STMicroelectronics官方网站上下载并安装CUBEIDE集成开发环境。CUBEIDE是一个基于Eclipse的开发工具,用于开发STM32微控制器。 2. 创建一个新的工程:打开CUBEIDE,点击"File" -> "New" -> "STM32 Project"来创建一个新的工程。在弹出的对话框中,选择你的目标芯片型号(即STM32F103C8T6),然后点击"Next"。 3. 配置工程参数:在下一个对话框中,你可以选择工程的名称和存储路径。你还可以选择使用HAL库或者LL库进行编程。对于初学者来说,HAL库更加友好和易于使用。选择完毕后,点击"Finish"来创建工程。 4. 配置I2C外设:在CUBEIDE的左侧导航栏中,展开"Pinout & Configuration"选项卡。然后,在右侧的"Configuration"选项卡中,找到I2C外设,并进行相应的配置,如选择引脚、速率等。 5. 配置OLED显示屏:根据你所使用的具体型号和接口,配置OLED显示屏的引脚连接和通信协议。通常情况下,你需要使用I2C接口来与OLED进行通信。 6. 编写代码:在CUBEIDE的左侧导航栏中,展开"Src"文件夹,找到main.c文件。在该文件中,你可以编写你的应用程序代码,包括初始化I2C外设和OLED显示屏,并进行相应的数据传输和显示操作。 7. 编译和下载:完成代码编写后,点击CUBEIDE工具栏上的"Build"按钮来编译你的代码。如果编译成功,你可以使用CUBEIDE提供的调试功能来下载代码到STM32F103C8T6微控制器上进行调试和测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值