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

OLED(hal库)、OLED取模

目录

OLED(hal库)

IIC通讯协议

软件IIC

​编辑

硬件IIC

移植OLED代码

代码测试 

​编辑

测试 

这是我改好滴文件

OLED取模

软件

​编辑文字

图片


OLED(hal库)

IIC通讯协议

软件IIC

软件I2C(或IIC)是通过程序控制GPIO引脚来模拟I2C通信的方式,灵活性高但速度较慢。

硬件IIC

硬件I2C是通过专用硬件模块实现的,速度较快,稳定性更高,且能处理更多的I2C总线功能。

移植OLED代码

代码移植:首页 - LCD wiki

解压文件 

代码测试 

复制工程模板直接打开keil文件

复制文件到HardWare文件夹下

双击HardWare文件

 添加到工程文件中

哪里报错改哪里,包含main.h,改成HAL库函数。

#define SCLK_Pin GPIO_PIN_8
#define SCLK_GPIO_Port GPIOB
#define SDIN_Pin GPIO_PIN_9
#define SDIN_GPIO_Port GPIOB#define OLED_SCLK_Clr() HAL_GPIO_WritePin(GPIOB,SCLK_Pin,GPIO_PIN_RESET)//CLK
#define OLED_SCLK_Set() HAL_GPIO_WritePin(GPIOB,SCLK_Pin,GPIO_PIN_SET)#define OLED_SDIN_Clr() HAL_GPIO_WritePin(GPIOB,SDIN_Pin,GPIO_PIN_RESET)//DIN
#define OLED_SDIN_Set() HAL_GPIO_WritePin(GPIOB,SDIN_Pin,GPIO_PIN_SET)

	GPIO_InitTypeDef GPIO_InitStruct = {0};__HAL_RCC_GPIOB_CLK_ENABLE();//使能PB端口时钟HAL_GPIO_WritePin(GPIOB, SCLK_Pin|SDIN_Pin, GPIO_PIN_RESET);GPIO_InitStruct.Pin = SCLK_Pin|SDIN_Pin;GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;//推挽输出GPIO_InitStruct.Pull = GPIO_NOPULL;GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);HAL_Delay(200);

使用快捷键ctr + f 替换全部

u32一样的做法

测试 

main.h添加头文件

#include "OLED.h"

初始化

 /* USER CODE BEGIN 2 */OLED_Init();			//初始化OLED  OLED_Clear(0); 

显示 

OLED_ShowCHinese(6,0,0);//全OLED_ShowCHinese(26,0,1);//动OLED_ShowCHinese(46,0,2);//电OLED_ShowCHinese(66,0,3);//子OLED_ShowCHinese(86,0,4);//技OLED_ShowCHinese(106,0,5);//术OLED_ShowString(4,3,"0.96\" OLED TEST",16); OLED_ShowString(0,6,"ASCII:",16);  OLED_ShowString(63,6,"CODE:",16);/* USER CODE END 2 */

 

这是我改好滴文件

通过百度网盘分享的文件:HardWare
链接:https://pan.baidu.com/s/1aoMZ-5OUO_Bs1ZWkzkGg0A 
提取码:oled

OLED取模

软件

 入口:首页 - LCD wiki


文字

输入文字

设置确认,生成字模

复制到字库

 

替换

 

 测试

	OLED_Init();			//初始化OLED  OLED_Clear(0); OLED_ShowCHinese(6,0,0);//你OLED_ShowCHinese(26,0,1);//好OLED_ShowCHinese(46,0,2);//,OLED_ShowCHinese(66,0,3);//世OLED_ShowCHinese(86,0,4);//界OLED_ShowCHinese(106,0,5);//!OLED_ShowString(4,3,"0.96\" OLED TEST",16); OLED_ShowString(0,6,"ASCII:",16);  OLED_ShowString(63,6,"CODE:",16);

图片

选择图片使用画图工具打开

另存为

 

选择单色位图

然后打开取模软件

添加图片

可以自己补充,鼠标左键画,右键取消

设置

生成图模,复制到图库

 测试

#include "bmp.h"
  /* USER CODE BEGIN 2 */OLED_Init();			//初始化OLED  OLED_Clear(0); OLED_DrawBMP(0,0,128,8,BMP1);/* USER CODE END 2 */


http://www.mrgr.cn/news/2748.html

相关文章:

  • Vue插值:双大括号标签、v-text、v-html、v-bind 指令
  • 每天五分钟深度学习框架pytorch:神经网络工具箱nn的介绍
  • 【jvm】直接引用
  • 【ARM 芯片 安全与攻击 5.2.1 -- 侧信道与隐蔽信道的区别】
  • 编程的魅力、其在现代社会的重要性、学习编程的途径,以及编程如何改变我们的思维方式和未来世界。
  • 基于深度学习的在线学习与适应
  • 垂直电商的兴衰与开源AI智能名片S2B2C商城系统的崛起:一场商业模式的革新
  • 13 - FFmpeg 封装 MP4
  • 多网络制式下移动通信如何节能降本
  • MySQL 主从复制的两种方式详解
  • MongoDB Redis 快速上手:NoSQL数据库操作精要
  • 找在两个汉字中间的句号,如何写正则表达式?
  • 24/8/14算法笔记 复习_逻辑回归sigmoid
  • Linux 下安装miniconda(少走弯路)
  • Linux命令学习 -- tar指令
  • 在C#编程中,如何使用LINQ查询从多个数组中提取满足特定条件的元素?
  • 智慧水务平台:数智化驱动,‌实现管理全面升级!‌
  • 论文解读:从Dijkstra的On-the-Fly到Go的三色标记算法,并行垃圾回收的起源
  • 探索Prompt调优的艺术:让AI更智能
  • 基于Kotlin Multiplatform实现静态文件服务器(一)