26、嵌入式开发中的字体与时间库应用

嵌入式开发中的字体与时间库应用

1. 字体相关操作

在开发过程中,有时需要使用额外的字体。生成的位图数据(如下代码所示)需复制到代码的一个标签(如 newfont.h )中,并使用 #include "newfont.h" 指令加载该标签。在使用 print 、 drawString 或 drawNumber 指令之前,需使用 tft.setFreeFont(&Rock_Salt_Regular_24) 指令定义字体。

const uint8_t Rock_Salt_Regular_24Bitmaps[] PROGMEM = {
// Bitmap Data:
0x00, // ' '
{  5400,   4,  25,   8,    1,  -20 }, // '|'
{  5413,  14,  32,  15,   -2,  -22 } // '}'
};
const GFXfont Rock_Salt_Regular_24 PROGMEM = {
(uint8_t  *)Rock_Salt_Regular_24Bitmaps,
(GFXglyph *)Rock_Salt_Regular_24Glyphs,0x20, 0x7E, 58};

以下是显示额外字体的示例代码:

#include <TFT_eSPI.h>       

相关推荐

Arduino驱动LCD12864:3种库(U8g2、LCD12864RSPI、自定义)对比与SPI模式配置

本文详细对比了Arduino驱动LCD12864的三种库方案(U8g2、LCD12864RSPI和自定义驱动),重点解析了SPI模式的配置方法。通过实际案例和性能对比,帮助开发者根据项目需求选择最佳方案,实现高效稳定的LCD12864显示控制。

weixin_30730053的博客 385

ARM嵌入式开发板完整工作流:从工具链到Qt应用部署

嵌入式Linux开发不是简单烧录镜像,而是围绕ARM架构(如aarch64)构建的系统级工程。其核心在于理解交叉编译原理——工具链必须严格匹配目标CPU架构、ABI规范与glibc版本,否则将出现'undefined reference'或'Exec format error'等典型故障。技术价值体现在可复现、可隔离、可验证的端到端流程:通过Buildroot定制rootfs、正确配置sysroot与pkg-config路径、精准绑定设备树与内核模块,并以dd安全写入SD卡分区。典型应用场景包括T113/R

weixin_34411563的博客 331

基于RP2350与DHT11的桌面气象站:LCD颜色预警与嵌入式开发实践

在嵌入式系统开发中,传感器数据采集与实时显示是核心基础技能。其原理是通过微控制器(MCU)的GPIO或通信接口(如单总线、SPI)读取传感器数据,并进行处理与逻辑判断。这项技术的价值在于将物理世界的信息数字化,并实现直观的人机交互,广泛应用于环境监测、智能家居和工业控制等领域。本文聚焦于一个典型的应用场景——桌面环境监测,详细介绍了如何利用RP2350微控制器读取DHT11温湿度传感器的数据,并驱动TFT LCD屏幕进行可视化显示。项目的核心创新在于引入了基于阈值的颜色预警逻辑,当环境参数超出舒适范围时,屏

weixin_29192365的博客 308

VS Code嵌入式开发实战:STM32与51单片机高效调试方案

嵌入式开发中,IDE选择直接影响调试效率与系统可靠性。从传统Keil到现代化VS Code工具链,本质是构建基于GDB、OpenOCD和统一调试协议的标准化开发范式。其核心原理在于将编译(GCC/SDCC)、调试(Cortex-Debug)、芯片抽象(SVD文件)与硬件控制(ST-Link/JTAG)解耦并协同,从而实现跨架构、跨平台、可追溯的全栈调试能力。技术价值体现在编译速度提升3倍以上、寄存器级实时可视化、多核同步断点及内存碎片精准追踪等工程刚需。典型应用场景覆盖STM32工业控制、车载以太网节点、5

weixin_34095889的博客 440

ESP32彩屏开发实战:RGB565颜色模型与TFT_eSPI文本渲染详解

在嵌入式系统与物联网设备的人机交互界面开发中,颜色模型与文本渲染是两大核心技术基础。颜色模型定义了像素色彩的数字化表示方式,其中RGB565格式因其在色彩深度与存储效率间的平衡,成为嵌入式彩屏驱动的常用标准。其原理是通过16位数据分配红、绿、蓝三原色的比特位,实现数万种颜色的编码。这项技术的核心价值在于,它使得资源受限的微控制器(如ESP32)能够高效驱动彩色显示屏,为传感器数据可视化、设备状态指示等应用场景提供了丰富的视觉表达手段。文本渲染则涉及字体引擎、字库处理与缓冲区管理,是将信息以清晰文字形式呈现的

weixin_34405354的博客 353

XIAO RP2040微型开发板:极致紧凑的嵌入式开发平台深度解析

嵌入式系统开发中,微控制器(MCU)是核心组件,负责执行控制逻辑与数据处理。其工作原理基于处理器架构、内存与外设接口的协同,通过编程实现对硬件的直接控制。在物联网和智能硬件领域,MCU的技术价值在于以低功耗、低成本实现特定功能,尤其在对空间和能效有严苛要求的场景中至关重要。常见的应用场景包括可穿戴设备、环境传感器节点和微型机器人等。本文聚焦于Seeed Studio推出的XIAO RP2040开发板,它基于Raspberry Pi Pico同款的RP2040双核Cortex-M0+处理器,但尺寸大幅缩减至2

weixin_30838873的博客 476

从复古Win98到现代界面:我用这个开源μGUI库,给ESP32智能家居面板做了个控制中心

本文详细介绍了如何使用开源的μGUI库为ESP32智能家居面板打造本地化控制中心。通过对比嵌入式GUI库特性,作者选择了内存占用仅20KB的μGUI,实现了复古Win98风格的界面设计,包含环境监测、设备控制等功能区块,并分享了触摸事件处理、MQTT集成等关键技术实现。

weixin_33691817的博客 593

STM32CubeProgrammer安装本质:嵌入式开发的底层信任入口

STM32CubeProgrammer并非普通烧录工具,而是嵌入式系统中连接代码逻辑与物理芯片的关键信任枢纽。其核心原理在于构建协议抽象层、USB设备类驱动栈与JVM安全沙箱三位一体的硬件交互机制,技术价值体现在Flash算法动态匹配、Option Bytes安全配置及多协议(SWD/DFU/UART)统一管控能力。广泛应用于AI辅助嵌入式开发(如Copilot生成HAL代码后的固件落地)、CI/CD自动化烧录、OTA安全升级等高可靠性场景。本文深入解析安装过程所承载的底层逻辑——从USB描述符兼容性、JR

weixin_33834137的博客 482

TW8836视频解码芯片开发套件:含51单片机驱动、OSD菜单源码、字体资源与寄存器调试工具

一套面向TW8836视频解码芯片的嵌入式开发支持资源,基于标准8051内核平台构建。包含完整可编译的51工程文件(L51_BANK.A51、main.c、Scaler.c等),覆盖OSD菜单逻辑(SOsdMenu.c、FOsdTable.c)、点阵字体渲染(OSDFont.c及consolas22_16x26_TW8830.bin)、SPI Flash地址映射(SpiFlashMap.c)、图像缩放与色彩控制(ImageCtrl.c)、芯片状态监控(monitor_ChipTest.c)。提供多组预烧录固件

e3f4g5的博客 237

基于STM32与Proteus的篮球计时记分器:HAL库驱动与仿真实践

嵌入式系统开发的核心在于对微控制器外设的精准控制与实时交互逻辑的实现。通过GPIO、定时器等基础外设,开发者可以构建具备特定功能的智能硬件系统。其技术价值在于将抽象的业务规则转化为稳定可靠的底层代码,广泛应用于工业控制、智能仪表和教学实验等领域。本文聚焦于一个典型的嵌入式综合应用——篮球比赛计时记分器,它巧妙地融合了状态机设计、矩阵键盘扫描和LCD驱动等关键技术。项目以STM32F103C8T6为核心,详细阐述了如何利用HAL库进行高效开发,并同步搭建Proteus仿真环境进行系统验证,为学习者提供了从理论

weixin_34200628的博客 329

R语言WGCNA实战:从基因表达矩阵到模块可视化全流程(附避坑指南)

本文详细介绍了使用R语言进行WGCNA(加权基因共表达网络分析)的完整实战流程,涵盖从基因表达矩阵预处理、软阈值选择、网络构建与模块识别,到模块与表型关联分析及结果可视化的关键步骤。文章重点解析了代码实现,并提供了针对数据质量检查、参数调整等常见问题的避坑指南,帮助生物信息学研究者高效挖掘基因共表达模块的生物学意义。

weixin_29062823的博客 580

ElementUI中的el-table解决宽度问题 - 根据内容自动撑开

在使用element-ui中,会发现表格组件el-table在未指定宽度情况下,会自动计算并给表格宽度赋值。但实际开发中,有时需要根据内容实际长度自动撑开显示,由内容的多少而决定表格的宽度,而不是默认宽度为100%。在默认情况下表格宽度为100%显示,并且列项未指定宽度情况下,剩余部分会平均分配宽度,本案例实际需求是由内容自动撑开显示。componentUpdated

觉醒法师的专栏 1万+

利用GBD数据库做未来疾病负担预测

最近看到一篇文献,利用GBD数据库中的数据对疾病负担的发展趋势进行预测。觉得很有趣,就抽空用R语言复盘了一下里面关键的方法。 参考文献: Changing trends in the disease burden of esophageal cancer in China from 1990 to 2017 and its predicted level in 25 years DOI: 10.1002/cam4.3775 1. 相关R包的安装 主要用到的R包有3个,一个一个讲: 1.1 Nordpred

NickyCat的博客 5万+

Mac本地部署OpenClaw:从零搭建企业级知识库AI助手

大语言模型(LLM)作为当前人工智能的核心技术,通过其强大的自然语言理解和生成能力,正在深刻改变信息交互方式。其原理是基于海量数据训练的深度神经网络,能够根据上下文预测并生成连贯文本。这一技术的核心价值在于,它能够作为智能中枢,理解和执行复杂指令,从而将通用AI能力转化为解决特定业务问题的生产力。在工程实践中,通过AI Agent框架(如OpenClaw)将LLM与外部工具和知识系统连接,是实现其价值的关键。这涉及到**本地部署**与**私有化**部署,以确保数据安全与成本可控。具体应用场景包括企业知识库问

weixin_33402252的博客 378

在macOS上使用GitHub的超详细指南

GitHub:免费的远程仓库,可用来托管自己的开源项目。它利用了Git强大的克隆和分支功能,让我们参与别人的开源项目和让别人参与自己的开源项目变得简单高效。

Mars的博客 3391

Flowise智能调度系统设计与实现

本文深入探讨Flowise平台的智能调度系统设计与实现,包括调度模型、调度策略、调度优化、调度应用等方面。通过详细的设计方案和实现策略,帮助开发者构建智能的调度系统。本文详细介绍了Flowise平台的智能调度系统设计与实现,包括调度模型、调度策略、调度优化、调度应用等方面。通过详细的设计方案和实现策略,帮助开发者构建智能的调度系统。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 1017

流体动力学仿真软件:SU2_(3).SU2的网格生成技术

设置网格的大小、密度等参数。

kkchenjj的博客 1030

分布式训练中All-Reduce、All-Gather、Reduce-Scatter原理

Reduce-Scatter = 先对所有进程的数据做 Reduce(如 sum / mean),再把结果“切分”分发给各进程。(是 Reduce + Scatter 的融合操作。

comli_cn的博客 341

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: 48、利用先进技术提升青少年社会情感能力
下一篇: 4、函数理论中的重要定理与研究进展
work3
博客等级 码龄1天 0粉丝 1266原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值