怎么在OLED上让年月日显示在同一排啊?

我怎么改它都没发在同一排,朋友们帮帮我真的不知道该怎么办了,是用的字模软件弄的年月日。数字和汉字没办法在同一排,还是我坐标弄错了?我真的不知道该怎么弄了

img

img

中文和数字的字体是不是不是一样大小的?

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7749628
  • 这篇博客也不错, 你可以看下我最终让我的OLED刷新速度跟老师的一样快
  • 除此之外, 这篇博客: 嵌入式开发练习(十三)OLED显示实验中的 五、点阵法生成汉字 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 在OLED屏中,我们显示的汉字是通过点阵法实现
    此处介绍两种方法实现:
    注:第一种较为简单

    1. 方法一:采用PCtoLCD2002直接生成
      我们首先要配置该软件,对比下图进行修改
      在这里插入图片描述在这里插入图片描述然后在如图所示的位置进行打字,在生成字模就可以了
      在这里插入图片描述在这里插入图片描述在这里插入图片描述
    0x08,0x80,0x08,0x80,0x08,0x80,0x11,0xFE,0x11,0x02,0x32,0x04,0x34,0x20,0x50,0x20,
    0x91,0x28,0x11,0x24,0x12,0x24,0x12,0x22,0x14,0x22,0x10,0x20,0x10,0xA0,0x10,0x40,/*"你",0*/
    0x10,0x00,0x10,0xFC,0x10,0x04,0x10,0x08,0xFC,0x10,0x24,0x20,0x24,0x20,0x25,0xFE,
    0x24,0x20,0x48,0x20,0x28,0x20,0x10,0x20,0x28,0x20,0x44,0x20,0x84,0xA0,0x00,0x40,/*"好",1*/
    0x00,0x00,0x0E,0xFC,0xEA,0x08,0xAA,0x08,0xAA,0xE8,0xAA,0xA8,0xAC,0xA8,0xAA,0xA8,
    0xAA,0xA8,0xAA,0xA8,0xEA,0xE8,0xAA,0xA8,0x0C,0x08,0x08,0x08,0x08,0x28,0x08,0x10,/*"啊",2*/
    
    

    将对应的字模加入我们的的程序就可以使用了
    我这里是添加到oledfont.h中,
    在这里插入图片描述

    1. 方法二:利用计算实现
      我们以16*16的字模进行介绍
      在使用计算进行时我在点阵字库中找到自己想要的汉字
      注:点阵字库的规格很多,请注意规格
      我们以’林‘为例子
      在这里插入图片描述当然你觉得这样还是不太好看,你可以把该字导出后再查看。
      方法如下:
      在这里插入图片描述在这里插入图片描述
      看起来会大一点,不那么伤眼睛
      然后就是计算规则
      在这里插入图片描述从存储的格式中我们可以看出就是以一个字节为单位进行换算的
      计算过程:
      在这里插入图片描述该方法较为繁琐,不推荐