历史上的今天
今天是:2024年08月22日(星期四)
2019年08月22日 | STM32F10 OLED液晶显示(IIC)
2019-08-22 来源:eefocus
2019年7月27日
做小车的第六天。
今天我实现了一个新的功能 OLED显示汉字。
刚开始学习这个显示汉字的时候也是一头污水,代码啊大部分看不懂,看OLED讲解的那个视频反复看了好几遍。还是没什么思路。
但是那自己慢慢的开始修改自带的源代码,尝试的去做,从显示点、线、字符、字符串一步步的开始进行,随着这个一步步的学会,显示汉字那,哈哈,原理也是差不多。
大致思路也就是调用.c中的函数,设置里面的变量,去调出自己想要的字符,汉字的代码(这些代码都是在一个数组里)
先说说重要的,怎么显示出汉字:
比如我们想让OLED显示屏显示一个字符串:“CODE”,
主函数是这么两条语句:
OLED_ShowString(63,48,“CODE:”,16); (63和48是字符串在屏幕中显示的位置,也就是坐标。)
//OLED_ShowString(u8 x,u8 y,u8 *chr,u8 size1)
//x:0~127
//y:0~63
//size选择字体大小 12/16/24
这两条语句的拆解步骤如下
1、既然是显示字符串,我们就得调用字符串显示函数:
void OLED_ShowString(u8 x,u8 y,u8 chr,u8 size1)
2、这个字符串显示函数通过指针p不断调用字符显示函数:
void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 size1)来显示字符中的每个字符
3、字符是怎么组成的?由点组成的嘛。。在OLED_ShowChar()函数中又调用画点函数:
void OLED_DrawPoint(u8 x,u8 y)
4、而第二条语句至关重要,这个语句把我们之前开辟的一块128*8字节的空间里面的数据传输到SSD1306(OLED模块控制器)的GRAM中。这样我们的汉字就显示出来了。
我来举一个例子:
比如我想在屏幕上显示 “河北科技大学”
1、我首先要把6个字的字模制作出来:
配置如图
之后我们在自己的库里这几个字模加进库里。
主函数这样写:
OK。

上一篇:STM32 串口通信简单测试
下一篇:基于STM32超声波测距
史海拾趣
|
【讨论】“嵌入式裸奔”、“嵌入式OS”、“OS”各适合什么场合? 如果你只能用的心: A)如果你手上是4位MCU? B)如果你手上是8位MCU? C)如果你手上是16位MCU? D)如果你手上是外设不多的32位MCU? E)如果你手上是外设丰富的32位MCU? F)如果你手上是外设极其丰富的64位MCU? 你要做什么产品: a)如果你 ...… 查看全部问答> |
|
遇到一些问题。希望各位不吝赐教。先谢过了。 现在有两个界面,称为A和B吧。 通过网口传输数据。在A界面接收数据,然后在B界面通过一个ListCtrl显示 ListCtrl控件选择为report 每接收一个数据就在list中显示一个。 现在的问题是。如果在A界面 ...… 查看全部问答> |
|
一个人研究的郁闷,过来找大家问问BITMAP_HEADER_SIZE 这个宏定义的是什么?RIT128x96x4ImageDraw()这个函数有人看过吗… 查看全部问答> |
|
1、 竞赛内容基于TI模拟设计软件WEBENCH的开放式自主命题开源竞赛。凡基于WEBENCH软件设计的TI电源(DC-DC或LED驱动)作品均可参赛。竞赛报名、作品提交和作品评比均在网上进行。比赛的重点在于利用Webench设计电源电路,并实现该电路。2、参赛条件 ...… 查看全部问答> |
|
android扩展的100G硬盘实现了,不过多了一个 /dev/sr0 695M 695M 0 100% /media/Ubuntu 12.04.2 LTS amd64 多出这个数据会影响下面的安装么 … 查看全部问答> |
|
我手里有一个可以正常工作的板子,上面的电路,如图所示,使用的是单向可控硅100-8,按照我们平常接受的知识,在通过可控硅电流大于IH的情况下是无法关闭可控硅的,但是这个电路确实可以关闭,这是要反科学了么 … 查看全部问答> |




