MicroPython STM32F405 LCD驱动及汉字显示

本文详细介绍LCD ili9341驱动的使用方法,包括参数配置、引脚定义及驱动代码。同时,提供汉字显示的取模方法和Python脚本,适用于嵌入式系统的汉字显示需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LCD(ili9341)驱动及汉字显示

LCD

参数

在这里插入图片描述

引脚定义

在这里插入图片描述

驱动代码

移步至我的仓库
在这里插入图片描述

注意,内部flash空间不够,要使用SD卡

构造函数
d=LCD(rstPin=‘Y4’, csxPin=‘Y5’, dcxPin=‘Y3’,port=2, portrait=True)
构建 LCD 对象 d。rstPin:复位,csxPin:片选,dcxPin:数据/指令,port=2: SPI(2),portrait:True(竖屏),False(横屏)
c = d.initCh(color, bgcolor, font)
构建字符对象 c。color:颜色,bgcolor:字符背景颜色,font:字体

使用方法

函数参数
d. fillMonocolor (color)填充:color:颜色
d.drawPixel(x, y, color, pixels=4)画点,x:横坐标,y:纵坐标,color:颜色,pixels:像素[1-4]
d.drawVline(x, y, length, color, width=1)画垂直线,x:横坐标,y:纵坐标,length:长度,color:颜色,width:线宽[1-10
d.drawHline(x, y, length, color, width=1)画水平线,x:横坐标,y:纵坐标,length:长度,color:颜色,width:线宽[1-10
drawLine(self, x, y, x1, y1, color)画线段,x,y:起始坐标,x1,y1:终点坐标,color:颜 色
d.drawRect(x, y, width, height, color, border=1, fillcolor=None)画矩形,x,y:起始坐标,width:宽度,length:长度, color:颜色,border:边宽,fillcolor:填充颜色,None 为不填充
d.drawCircle(x, y, radius, color, border=1, degrees=360, startangle=0)画圆。x, y:圆心,radius:半径,color:颜色,border:边宽,degrees:圆弧度数,startangle:起始角
c.printChar(char, x, y,)写单个字符,char:字符,x,y:起始坐
c.printLn(string, x, y,)写字符串,string:字符串,x,y:起始坐标
d.renderBmp(filename, pos=None)显示图片,filename: images 文件夹下的 BMP 文件名称;pos:起始坐标,格式(x,y)。 注意事项:BMP 文件格式是 16 位(R5,G6,B5)格式。分辨率小于240*320。

汉字显示

取模

学过单片机的同学们都知道,在单片机上显示汉字是要取模。在本次实验中依然是取模,不过本次不再用常用的取模软件。我在GitHub中找到一个的取模软件——freetype-generator但是他只能制作32-255号的拓展ascii码表,我自己重构了一下更好的匹配中文。我的仓库

python ILI9341Fonts-generate.py <ttf_file> <ttf_size> <out_python_file> <Object_name> (--file=|--string== )

例如

python ILI9341Fonts-generate.py  ttf-fonts/FZFSJW.TTF  26 ili-fonts/ZH-CN-SONG.py  SONG     --string    西安电子科技大学
python ILI9341Fonts-generate.py  ttf-fonts/FZFSJW.TTF  26 ili-fonts/ZHCNSONG.py  SONG     --file    contant.txt

表示 ttf文件为 FZFSJW.ttf 字体大小为 26,生成的取模文件为ZHCNSONG.py 内容(字典)为SONG 字符串为 西安电子科技大学 (内容文件 contant.txt)
在这里插入图片描述

这个方法依赖于freetype和docopt模块
安装freetype

python -m pip install freetype-py

安装docopt
docopt的依赖模块很多,建议使用conda安装

conda install docopt

main.py文件中导入字体文件即可。
实测
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值