[应用相关] STM32LCD显示汉字

[复制链接]
1235|16
 楼主| 突然下起雨 发表于 2022-2-28 23:33 | 显示全部楼层 |阅读模式
STM32LCD显示汉字
不能字符串显示,毕竟不是存了字库,只能显示单个汉字,这种需要我们自己去取模,然后存放到数组,基于正点原子的例程改的,要注意的是一个汉字在数组中全部数据是全存在一起的,如下,size=24,一个汉字字节长度为72,size=16,一个汉字字节长度为32,由u8 csize=(size/8+((size%8)?1:0))(size)这个式子给出
const unsigned char hz32[30][72]={
{
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x00,0x07,0x04,0x00,0x19,0x08,0x00,0x71,
0x18,0x00,0x11,0x30,0x00,0x13,0xE7,0xFC,0x1F,0x44,0x88,0x11,0x44,0x88,0x11,0x24,
0x88,0x11,0x3C,0x88,0x01,0x14,0x88,0x01,0x04,0x88,0x1F,0xFC,0x88,0x10,0x24,0x88,
0x10,0x24,0x88,0x10,0x27,0xFE,0x10,0x24,0x0C,0x10,0x20,0x00,0x1F,0xF0,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/“智”,0,size = 24*/
},
{undefined
0x00,0x02,0x00,0x0C,0x3F,0xF1,0x24,0x01,0x24,0x21,0x24,0x32,0x3F,0xAA,0xA4,0xA4,
0x64,0xA4,0x24,0xA4,0x3F,0xAA,0x24,0x32,0x24,0x01,0x24,0x01,0x20,0x01,0x00,0x00
/*“度”,2,size =16 */
}
};

 楼主| 突然下起雨 发表于 2022-2-28 23:37 | 显示全部楼层
  1. //显示一个指定大小的汉字
  2. //x,y :汉字的坐标
  3. //index:汉字在数组中的位置
  4. //size:字体大小
  5. //pointcolor:画笔颜色
  6. //backcolor:背景颜色
  7. //mode:0,正常显示,1,叠加显示
  8. void Show_Chinese32(u16 x,u16 y,u16 index,u8 size,u16 pointcolor,u16 backcolor,u8 mode)
  9. {
  10.                 u8 temp,t,t1;
  11.         u16 y0=y;
  12.         u8 csize=(size/8+((size%8)?1:0))*(size);        //一个汉字数据字节数,直接存就可比如size=24一个汉字是{72数据},16是32
  13.                 for(t=0;t<csize;t++)
  14.         {                                                                                                     
  15.                 temp=hz32[index][t];                        //得到点阵数据                          
  16.                 for(t1=0;t1<8;t1++)
  17.                 {
  18.                         if(temp&0x80)LCD_Fast_DrawPoint(x,y,pointcolor);
  19.                         else if(mode==0)
  20.                                 LCD_Fast_DrawPoint(x,y,backcolor);
  21.                         temp<<=1;
  22.                         y++;
  23.                         if((y-y0)==size)
  24.                         {
  25.                                 y=y0;
  26.                                 x++;
  27.                                 break;
  28.                         }
  29.                 }           
  30.         }
  31. }
 楼主| 突然下起雨 发表于 2022-2-28 23:39 | 显示全部楼层
取模软件是PCtoLCD2002
16574621cec9ad8a86.png
设置,这里数据记得自己加{}分开每个汉字
 楼主| 突然下起雨 发表于 2022-2-28 23:41 | 显示全部楼层
littlelida 发表于 2022-3-1 14:19 | 显示全部楼层
就是要取模的
AloneKaven 发表于 2022-10-7 20:10 | 显示全部楼层
一个取模软件搞定
Pulitzer 发表于 2022-10-9 08:21 | 显示全部楼层

函数指针初始化
Uriah 发表于 2022-10-9 15:22 | 显示全部楼层

这么简单,那么程序员大概率就要失业了
Bblythe 发表于 2022-10-9 18:21 | 显示全部楼层

HSI、HSE以及PLLCLK经过分频或者倍频作为系统时钟SYSCLK来使用。
abotomson 发表于 2022-11-19 10:47 | 显示全部楼层
stm32显示连续汉字的间隔太大,如何调整呢?  
deliahouse887 发表于 2022-11-20 15:37 | 显示全部楼层
STM32怎么做可以单独把汉字字模和图片数据拷到SD卡里面,然后让TFT液晶显示汉字和图片
wilhelmina2 发表于 2022-11-20 18:19 | 显示全部楼层
STM32汉字32*32如何显示成48*48的  
alvpeg 发表于 2022-11-23 21:35 | 显示全部楼层
如何在stm32加载字库呢              
maudlu 发表于 2022-11-23 22:34 | 显示全部楼层
在LCD上显示的字体为什么反了?  
pixhw 发表于 2022-11-24 13:45 | 显示全部楼层
想设计stm32,在电脑上输入汉字,通过can口接受并在OLED上显示
timfordlare 发表于 2022-11-24 15:20 | 显示全部楼层
汉字和英文字符如何混合显示嗯              
SantaBunny 发表于 2023-2-13 16:21 | 显示全部楼层
用一个取模软件
童雨竹 发表于 2023-8-1 07:18 | 显示全部楼层

代码量小的时候用来做条件判断
Pulitzer 发表于 2023-8-1 08:21 | 显示全部楼层

电源电压处于1.6V到5.5V之间
公羊子丹 发表于 2023-8-1 09:24 | 显示全部楼层

任何外设都需要时钟才能启动
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

531

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部