找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 766|回复: 2
收起左侧

基于STM32单片机设计OLED显示屏字体大小

[复制链接]
ID:1117741 发表于 2024-4-25 09:28 | 显示全部楼层 |阅读模式
请各位大佬们帮忙看看FontSize为字体大小,应该如何修改才能在主函数中自己设定字体大小

  1. /**
  2.   * @brief  OLED显示数字(十进制,正数)
  3.   * @param  Line 起始行位置,范围:1~4
  4.   * @param  Column 起始列位置,范围:1~16
  5.   * @param  Number 要显示的数字,范围:0~4294967295
  6.   * @param  Length 要显示数字的长度,范围:1~10
  7.   * @retval 无
  8.   */
  9. void OLED_ShowNum(uint8_t Line, uint8_t Column, uint32_t Number, uint8_t Length,uint8_t FontSize)
  10. {
  11.         uint8_t i;
  12.         for (i = 0; i < Length; i++)                                                        
  13.         {
  14.                 OLED_ShowChar(Line, Column + i, Number / OLED_Pow(10, Length - i - 1) % 10 + '0', FontSize);
  15.         }
  16. }

  17. void OLED_ShowChinese(uint8_t Line,uint8_t Column,uint8_t num)
  18. {
  19.         uint8_t i;
  20.         OLED_SetCursor((Line-1)*2,(Column-1)*16);
  21.         for(i=0;i<16;i++)
  22.         {
  23.                 OLED_WriteData(Font_Chinese[2*num][i]);
  24.         }
  25.         OLED_SetCursor((Line-1)*2+1,(Column-1)*16);
  26.         for(i=0;i<16;i++)
  27.         {
  28.                 OLED_WriteData(Font_Chinese[2*num+1][i]);
  29.         }
  30. }
复制代码
回复

使用道具 举报

ID:277550 发表于 2024-4-25 12:03 | 显示全部楼层
这是点阵的,要有对应的大小的点阵字模,才好显示



回复

使用道具 举报

ID:123289 发表于 2024-4-25 15:53 | 显示全部楼层
与程序无关,主要是字库。
1、基础字库:直接从字库从取点阵,丢到OLED对应的点上。
2、大小改变:选择不同大小的字库,丢到OLED对应的点上。
3、以基础字库为基准,改变大小,这就需要你建立一个缩小、放大的方案。将方案写成程序,经程序计算后丢到OLED对应的点上到显示。
估计你是调用别人现成的函数,自己对原理又不懂,而别人的函数不全面,或者你还不理解这些函数,故有此问。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表