
专业版
stm32最小系统板驱动oled
1.2k
0
0
0
简介
stm32f405RG 最小系统板子完成驱动oled 的程序。
简介:stm32f405RG 最小系统板子完成驱动oled 的程序。开源协议
:GPL 3.0
创建时间:2024-11-04 22:38:23更新时间:2024-11-15 17:27:03
描述
项目简介
- 这是一个非常简单的项目,没有外设,复刻起来非常容易。
项目功能
- 通过接线使用iic 接口驱动,OLED 显示器,显示充电动画,及计数器循环计数
项目参数
- stm32f405rgt6
- cube ide
- HAL 库
- oled 显示
- iic 驱动
软件代码
新建工程
- 新建工程,并next

- 筛选芯片,并next

- 工程名称,并FINISH

- 等待。。。。。需要下载hal库等

- 首先我们配置外部时钟,由于我们只焊接了外部高速的8M所以我们只需要配置这个。

- 配置调试模式。(这个非常重要,不配置可能导致后面无法下载程序)

- 配置硬件I2C


- 将每个外设都保存为独立的文件

- CTRL+S 保存并生成代码

移植 OLED驱动代码
- oled 驱动主要存在三个文件 oled.h 、oled.c 、oledfont.h字库文件。其中.h文件放在Core/inc 文件目录下,.c文件放到Core/src 文件夹下。


- 代码内容后面在附件获取即可。到时候内容直接复制到每一个文件夹。
最终主函数代码
- 首先在头文件下方添加oled 的头文件。
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "oled.h"
/* USER CODE END Includes */
- 主函数中填写如下内容
int main(void)
{
/* USER CODE BEGIN 1 */
int timer=0;
char buf[]="0000";
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_I2C1_Init();
/* USER CODE BEGIN 2 */
OLED_Init();
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
sprintf(buf,"%04d",timer);
OLED_ShowString(16,2,buf,48);
OLED_Showpower(timer%6);
timer++;
HAL_Delay(500);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
编译代码并调试
- 点击编译代码

- 点击debug

- 我这里用的是jlink 所以我选择调试工具为jlink


接线及现象
- 找到开发板上的正负已经PB6 -> scl PB7->sda最终现象如下。
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


























