江协科技 OLED库 OLED_Print( )函数自动换行

news2024/12/20 10:08:46
void OLED_Printf(int16_t X, int16_t Y, uint8_t FontSize, char *format, ...)
{
	char String[256];						//定义字符数组
	va_list arg;							//定义可变参数列表数据类型的变量arg
	va_start(arg, format);					//从format开始,接收参数列表到arg变量
	vsprintf(String, format, arg);			//使用vsprintf打印格式化字符串和参数列表到字符数组中
	va_end(arg);							//结束变量arg
	
	if(FontSize == OLED_6X8)                //在显示6X8字符时效果不好,因为128/6 = 21...2
	{                                       //这会导致每行的最后会多显示两列,需要更改底层解决
		for(uint16_t i = 0; i < strlen(String); i+=21)
		{
			OLED_ShowString(X, Y+i/21*9, &String[i], FontSize);//OLED显示字符数组(字符串)
		}
	}else if(FontSize == OLED_8X16){
		for(uint16_t i = 0; i < strlen(String); i+=16)
		{
			OLED_ShowString(X, Y+i, &String[i], FontSize);//OLED显示字符数组(字符串)
		}
	}
}

6X8字符显示 

OLED_Printf(0, 0, OLED_6X8, "Hi crkylin, this is your thirty-two days in this company, congratulations for you honestly!");

显示效果

8X16字符显示

OLED_Printf(0, 0, OLED_8X16, "Hi crkylin, this is your thirty-two days in this company, congratulations for you honestly!");

显示效果

中文字符显示效果

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2262642.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探索 Seaborn Palette 的奥秘:为数据可视化增色添彩

一、引言 在数据科学的世界里&#xff0c;视觉传达是不可或缺的一环。一个好的数据可视化不仅能传递信息&#xff0c;还能引发共鸣。Seaborn 是 Python 中一款广受欢迎的可视化库&#xff0c;而它的调色板&#xff08;palette&#xff09;功能&#xff0c;则为我们提供了调配绚…

领域驱动设计的学习分享

DDD 是什么 领域驱动设计(Domain Driven Design) 是一种从系统分析到软件建模的一套方法论。以领域为核心驱动力的设计体系。 为什么使用 面向对象设计&#xff0c;数据行为绑定&#xff0c;告别贫血模型优先考虑领域模型&#xff0c;而不是切割数据和行为准确传达业务规则…

Three.js推荐-可以和Three.js结合的动画库

在 Three.js 中&#xff0c;3D 模型、相机、光照等对象的变换&#xff08;如位置、旋转、缩放&#xff09;通常需要通过动画进行控制&#xff0c;以实现更加生动和富有表现力的效果。然而&#xff0c;Three.js 本身并没有内置的强大动画管理系统&#xff0c;尽管可以通过关键帧…

vue+springboot+cas配置及cookie传递问题

cookie的注意事项 前边的文章已经介绍过cookie的基本信息&#xff0c;这里再次说明一点&#xff1a;cookie是无法进行跨域传递的&#xff0c;很多时候cookie无法设置和传递都是因为跨域问题&#xff0c;ip/端口不一致。 主要就是&#xff1a;被设置cookie和要传递cookie的地址…

Mac升级macOS 15 Sequoia后,无法ssh连接本地虚拟机

现象 macOS 15后&#xff0c;无法ssh连接本地启动的虚拟机&#xff0c;提示错误&#xff1a; No route to host&#xff0c;也ping不通。包括UTM、Parallels Desktop这两个虚拟机软件。之前都是没问题的&#xff0c;通过一些简单排查&#xff0c;目前没发现什么问题。 在虚拟…

使用 NVIDIA DALI 计算视频的光流

引言 光流&#xff08;Optical Flow&#xff09;是计算机视觉中的一种技术&#xff0c;主要用于估计视频中连续帧之间的运动信息。它通过分析像素在时间维度上的移动来预测运动场&#xff0c;广泛应用于目标跟踪、动作识别、视频稳定等领域。 光流的计算传统上依赖 CPU 或 GP…

c语言----顺序结构

顺序结构的基本概念 定义&#xff1a;顺序结构是C语言程序中最基本的结构&#xff0c;它按照语句的先后顺序依次执行。就像我们日常做事一样&#xff0c;一步一步地按照顺序来完成任务。在C语言程序中&#xff0c;从程序的第一条语句开始&#xff0c;逐句向下执行&#xff0c;…

基于base32的兑换码算法(思路)

base32编码指的是基于32个可打印字符对任意字节数据进行编码&#xff1a;大写字母A-Z以及数字2-7。 兑换码要求:长度为10个字符 如果将这32个字符依次放到一个base数组中&#xff0c;那么最大的下标就是31。我们将要编码的任意字节数据按照五个bit为一组进行划分&#xff0c;…

python学opencv|读取图像(十六)修改HSV图像HSV值

【1】引言 前序学习进程中&#xff0c;我们已经掌握了对HSV通道和BGR通道的拆分和合并&#xff0c;并通过自由组合的形式&#xff0c;获得了和初始图像完全不一样的新图像&#xff0c;相关文章可以参考下述链接&#xff1a; python学opencv|读取图像&#xff08;十四&#xf…

用QT制作的倒计时软件

一、pro代码 RC_ICONS countdown.ico 二、mainwindow.cpp代码 #include "mainwindow.h" #include "ui_mainwindow.h"#include <QDateTime> #include <QMessageBox> #include <QSettings>MainWindow::MainWindow(QWidget *parent): QM…

VScode MAC按任意键关闭终端 想要访问桌面文件

说明 最近配置MAC上CPP的运行环境&#xff0c;在安装必要的CPP插件后&#xff0c;配置launch和task等json文件后&#xff0c;点击运行三角形&#xff0c;每次都会跳出main想要访问桌面上的文件。并且输出也是在调试控制台&#xff0c;非常逆天。 尝试 尝试1:尽管我尝试将ta…

【一本通】线段

【一本通】线段 C语言代码Java代码C代码 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 数轴上有 n条线段&#xff0c;选取其中 k条线段使得这 k条线段两两没有重合部分&#xff0c;问最大的k为多少? 输入 输入文件segment.in的第一行为…

学习日志024--opencv中处理轮廓的函数

目录 前言​​​​​​​ 一、 梯度处理的sobel算子函数 功能 参数 返回值 代码演示 二、梯度处理拉普拉斯算子 功能 参数 返回值 代码演示 三、Canny算子 功能 参数 返回值 代码演示 四、findContours函数与drawContours函数 功能 参数 返回值 代码演示 …

关于分页的样式问题

在最近写网页的时候遇到了一个关于样式的问题&#xff0c;今天我来跟大家来说一下。像是分页中的颜色效果&#xff0c;斑马纹颜色要注意颜色不要过于深。 这种的颜色就有一点深看着很不舒服&#xff0c;应将当前的颜色改为淡一点的&#xff0c;也可以利用rgba调整透明度&#x…

机器学习周报(12.9-12.15)

文章目录 摘要Abstract 1 Swin Transformer1.1 输入1.2 Patch Partition1.3 Linear Embedding1.4 Patch Merging1.5 Swin Transformer Block1.6 代码总结 摘要 本篇博客介绍了采用类似于卷积核的移动窗口进行图像特征提取的Swin Transformer网络模型&#xff0c;这是一种基于T…

基于Spring Boot的校园车辆管理系统

一、系统背景与意义 随着校园规模的不断扩大和车辆数量的增加&#xff0c;传统的车辆管理方式已经难以满足高效、准确管理车辆的需求。因此&#xff0c;开发一个基于Spring Boot的校园车辆管理系统具有重要的现实意义。该系统可以实现对校园车辆的信息化管理&#xff0c;提高车…

SpringBoot3整合FastJSON2如何配置configureMessageConverters

在 Spring Boot 3 中整合 FastJSON 2 主要涉及到以下几个步骤&#xff0c;包括添加依赖、配置 FastJSON 作为 JSON 处理器等。下面是详细的步骤&#xff1a; 1. 添加依赖 首先&#xff0c;你需要在你的 pom.xml 文件中添加 FastJSON 2 的依赖。以下是 Maven 依赖的示例&#…

隐私清理工具Goversoft Privazer

PrivaZer 是一款专为隐私保护而生的 Windows 系统清理工具&#xff0c;支持深度扫描、清除无用文件和隐私痕迹。 PrivaZer - 深度扫描磁盘&#xff0c;自动清理上网痕迹&#xff0c;全面保护 Windows 的网络隐私 释放磁盘空间 硬盘空间告急&#xff0c;想清理却又无从下手&…

UDP网络编程套接

目录 本文核心 预备知识 1.端口号 认识TCP协议 认识UDP协议 网络字节序 socket编程接口 sockaddr结构 UDP套接字编程 服务端 客户端 TCP与UDP传输的区别 可靠性&#xff1a; 传输方式&#xff1a; 用途&#xff1a; 头部开销&#xff1a; 速度&#xff1a; li…

3.zabbix中文设置

1、zabbix中文设置 2、中文乱码的原因 zabbix使用DejaVuSan.ttf字体&#xff0c;不支持中文&#xff0c;导致中文出现乱码。解决方法很简单&#xff0c;把我们电脑里面字体文件传到zabbix服务器上。 3、解决zabbix乱码方法 3.1、从Window服务器找到相应的字休复制到zabbix S…