赞
踩
目录
软件I2C(或IIC)是通过程序控制GPIO引脚来模拟I2C通信的方式,灵活性高但速度较慢。
硬件I2C是通过专用硬件模块实现的,速度较快,稳定性更高,且能处理更多的I2C总线功能。
代码移植:首页 - 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_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 */
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。