文章目录

  • 一、显示自己的名字和学号
  • 二、温度显示


理解OLED屏显和汉字点阵编码原理,使用STM32F103的SPI或IIC接口实现以下功能:

  1. 显示自己的学号和姓名;
  2. 显示AHT20的温度和湿度;
  3. 上下或左右的滑动显示长字符,比如“Hello,欢迎来到重庆交通大学物联网205实训室!”或者歌词、诗词。(最好使用硬件刷屏模式)

一、显示自己的名字和学号

首先可以在野火官网中下载字库工具,将汉字变成点阵的形式

打开软件之后,设置如下

esp32中文字库太大了_优先级


esp32中文字库太大了_stm32_02


然后找到官方的例程代码,

esp32中文字库太大了_主函数_03


可以看到有连线的说明。

之后就可以根据代码的提示找到输出中文与输出数字的代码

esp32中文字库太大了_esp32中文字库太大了_04


进入到函数内部,对函数里面的内容进行简单的理解之后就会知道如何更改显示的内容

esp32中文字库太大了_初始化_05


显示内容的前面代表的就是显示出来的坐标位置

然后找到oledfont.h这个文件,这里面的就是各个汉字或者数字的点阵表示,我们就可以将自己要显示的汉字的点阵的字模添加进去就可以了。

esp32中文字库太大了_esp32中文字库太大了_06


然后在主函数中将自己不需要的带代码注释掉就可以了。

esp32中文字库太大了_初始化_07

二、温度显示

将之前的读取温度的实验代码添加到现在的这个工程之中

esp32中文字库太大了_esp32中文字库太大了_08


再将主函数中的代码改写一下

部分代码如下

float P,T,ALT;
    uint32_t CT_data[2];
	int  c1,t1;
		delay_init();	    	 //延时函数初始化	  
		NVIC_Configuration(); 	 //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 	LED_Init();			     //LED端口初始化
		OLED_Init();			//初始化OLED  
		OLED_Clear(0) ; 
		RCC_Configuration();					   	//设置系统时钟
    GPIO_Configuration();					    //IO口设
I2C_Bus_Init();
    ret = ATH20_Init();
    if(ret == 0)
		while(1)
    {   OLED_Clear(0);
         OLED_ShowString(0,11,"631807030616",16);  
		  delay_ms(2500);
       printf("ATH20传感器初始化错误\n");
    }

esp32中文字库太大了_主函数_09

esp32中文字库太大了_esp32中文字库太大了_10