历史上的今天

今天是:2024年08月22日(星期四)

正在发生

2019年08月22日 | STM32F10 OLED液晶显示(IIC)

发布者:梦回归处 来源: eefocus关键字:STM32F10  OLED  液晶显示  IIC 手机看文章 扫描二维码
随时随地手机看文章

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。
在这里插入图片描述

在这里插入图片描述


关键字:STM32F10  OLED  液晶显示  IIC 引用地址:STM32F10 OLED液晶显示(IIC)

上一篇:STM32 串口通信简单测试
下一篇:基于STM32超声波测距

推荐阅读

美国莱斯大学(Rice University)计算机专家摩什·瓦尔迪教授最近在一个学术研讨会上宣称,到2045年智能机器人将可胜任绝大部分的人类工作,全球失业率将超过50%。由于近年人工智能技术的飞速发展,人类被智能机器人抢“饭碗”的情况很可能会提早发生。 今年早些时候,国际劳工组织(ILO)曾表示,未来20年,菲律宾、柬埔寨、印尼、泰国和越南将有超过半...
儒卓力和中国蓝牙技术专业厂商深圳云里物里科技股份有限公司签署全球分销协议儒卓力与中国蓝牙技术产品制造商深圳云里物里科技股份有限公司签订了适用于全球范围的分销协议。云里物里科技股份有限公司成立于2007年,拥有来自100多个国家的物联网产品客户,其中包括谷歌、Here、华为和阿里巴巴。这项分销协议涵盖了云里物里科技股份有限公司所有产品系列,...
截止8月21日收盘,A股三大指数今日集体收涨,其中上证指数收报3380.68点,上涨0.50%;深成指收报13478.00点,上涨1.18%;创业板指表现较强,收报2632.45点,上涨1.72%。两市合计成交8442亿元,北向净流入31.86亿元。从盘面上看,食品饮料、云游戏、造纸居板块涨幅居前,农业、数字货币、钢铁居板块跌幅居前。两市2401家个股上涨,1330家个股下跌。其中涨停...
据数码博主@熊猫很禿然今日最新爆料,小米将在海外发布两款新手机,分别为小米11T和小米11T Pro,这两款手机分别搭载天玑1200和骁龙888处理器。  小米11T手机将搭载天玑1200处理器,支持120Hz刷新率,拥有6400万像素的主摄像头。而小米11T Pro 将搭载骁龙 888处理器,采用OLED显示屏,支持120Hz刷新率,拥有5000mAh电池,并且支持120W快充...

史海拾趣

问答坊 | AI 解惑

Verilog程序保密的方法

迫不得已要公开ISE工程,其中几个核心的模块的源程序想隐藏掉,打包成IP Core可以实现吗?有两种方法帮忙实现: 1.可以编译后写成.vqm格式 2.直接把模块综合成网表给别人。让他们在用的时候直接实例化网表文件 大家还有什么好方法呢?认为可行 ...…

查看全部问答∨

wince6.0 + VS2005中如何实现位图的旋转?

我想做一个汽车仪表的界面,表盘和指针都是直接导入位图,wince6.0里面不能用函数PlgBlt(),大家有什么好方法能让位图旋转吗?(即让指针转动起来)…

查看全部问答∨

如何理解块传输方式代码

对于块传输,看到书上常用的方式如下: bc 是数据的长度                   UCHAR *inContext = USBDevice->BulkInEndPt->BeginDataXfer(inbuf,bc,&inOvLap);   &nbs ...…

查看全部问答∨

一个USB通信的驱动问题,涉及到访问权限,望高手支招,谢谢!

在开发U盘,想与PC机进行自定义命令的通信(例如:从PC发一个命令控制指示灯的亮与灭,U盘上的监测和处理程序已经写好),可是在非管理员用户下调用CreateFile()设备不能打开,用GetLastError()发现错误值为5,我应该怎么实现呢?请高手们指点 ...…

查看全部问答∨

关于8255

我的是89S51外扩8255,8255的PA、PB口是输入,接的是32*32的矩阵型二级对管(相当于一个手写板,我要在这个手写板中画图的),我想请问下,这样的结构,用C51要怎么写程序比较好?…

查看全部问答∨

怎样在wince对话框上加菜单栏

请问:怎样在wince对话框上加菜单栏?谢谢…

查看全部问答∨

大小功率LED照明方案选择

replyreload += \',\' + 753379;Timson,如果您要查看本帖隐藏内容请回复…

查看全部问答∨

STVD反应太迟钝了!

                                 以前用V3.X的版本好像都没这个问题,V4.1.5版本,点击左边的文件列表或者双击下面的find的结果时,要等10秒钟才能打开 ...…

查看全部问答∨

万分焦急!!!

本帖最后由 dontium 于 2015-1-23 13:37 编辑 各位大侠:       小弟编了个fir滤波器的程序,asm文件编译无错误.只是build 后不能生成out文件,错误提示: >> fir.cmd:   error: system error, can\\\'t open fil ...…

查看全部问答∨

驱动发光二极管

请问 要驱动两个小的发光二极管 是直接输出驱动好呢,还是加上拉输入好呢,…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved