标题: 基于STM32单片机设计OLED显示屏字体大小 [打印本页]

作者: 自己想安静    时间: 2024-4-25 09:28
标题: 基于STM32单片机设计OLED显示屏字体大小
请各位大佬们帮忙看看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. }
复制代码

作者: devcang    时间: 2024-4-25 12:03
这是点阵的,要有对应的大小的点阵字模,才好显示




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




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1