站内搜索
发作品签到
stm32最小系统板驱动oled
专业版

stm32最小系统板驱动oled

工程标签

32位单片机

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
  • image.png
  • 筛选芯片,并next
  • image.png
  • 工程名称,并FINISH
  • image.png
  • 等待。。。。。需要下载hal库等
  • image.png
  • 首先我们配置外部时钟,由于我们只焊接了外部高速的8M所以我们只需要配置这个。
  • image.png
  • 配置调试模式。(这个非常重要,不配置可能导致后面无法下载程序)
  • image.png
  • 配置硬件I2C
  • image.png
  • image.png
  • 将每个外设都保存为独立的文件
  • image.png
  • CTRL+S 保存并生成代码
  • image.png

移植 OLED驱动代码

  • oled 驱动主要存在三个文件 oled.h 、oled.c 、oledfont.h字库文件。其中.h文件放在Core/inc 文件目录下,.c文件放到Core/src 文件夹下。
  • image.png
  • image.png
  • 代码内容后面在附件获取即可。到时候内容直接复制到每一个文件夹。

最终主函数代码

  • 首先在头文件下方添加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 */
}

编译代码并调试

  • 点击编译代码
  • image.png
  • 点击debug
  • image.png
  • 我这里用的是jlink 所以我选择调试工具为jlink
  • image.png
  • image.png

接线及现象

  • 找到开发板上的正负已经PB6 -> scl PB7->sda最终现象如下。

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
演示视频.mp4
4
2
demo.zip
12
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航