当前位置:   article > 正文

OLED(hal库)、OLED取模

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库函数。

  1. #define SCLK_Pin GPIO_PIN_8
  2. #define SCLK_GPIO_Port GPIOB
  3. #define SDIN_Pin GPIO_PIN_9
  4. #define SDIN_GPIO_Port GPIOB
  5. #define OLED_SCLK_Clr() HAL_GPIO_WritePin(GPIOB,SCLK_Pin,GPIO_PIN_RESET)//CLK
  6. #define OLED_SCLK_Set() HAL_GPIO_WritePin(GPIOB,SCLK_Pin,GPIO_PIN_SET)
  7. #define OLED_SDIN_Clr() HAL_GPIO_WritePin(GPIOB,SDIN_Pin,GPIO_PIN_RESET)//DIN
  8. #define OLED_SDIN_Set() HAL_GPIO_WritePin(GPIOB,SDIN_Pin,GPIO_PIN_SET)

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

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

u32一样的做法

测试 

main.h添加头文件

#include "OLED.h"

初始化

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

显示 

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

 

这是我改好滴文件

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

OLED取模

软件

 入口:首页 - LCD wiki


文字

输入文字

设置确认,生成字模

复制到字库

 

替换

 

 测试

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

图片

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

另存为

 

选择单色位图

然后打开取模软件

添加图片

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

设置

生成图模,复制到图库

 测试

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/1007960
推荐阅读
相关标签
  

闽ICP备14008679号