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

复制代码
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!");

显示效果

中文字符显示效果

相关推荐
事变天下3 小时前
今是科技发布全新测序仪G-seq1M:以效率与精准引领基因测序新标杆
人工智能·科技
羑悻的小杀马特5 小时前
OpenCV 引擎:驱动实时应用开发的科技狂飙
人工智能·科技·opencv·计算机视觉
ACRELKY8 小时前
【黑科技护航安全】分布式光纤测温:让隐患无处可藏
科技·安全
ghostwritten14 小时前
k8s黑科技:Linux+Vagrant+VirtualBox开启Kubernetes奇幻之旅
linux·科技·kubernetes
Ys1778044241715 小时前
高性能SAR回波模拟器:推动科技与应用的无限可能
科技
深眸财经15 小时前
从商汤科技年报,看一家AI企业的确定性叙事
人工智能·科技·百度
赋创小助手16 小时前
Gartner预计2025年AI支出达6440亿美元:数据中心与服务器市场的关键驱动与挑战
运维·服务器·人工智能·科技·架构
汇能感知18 小时前
光谱相机的光谱数据采集原理
经验分享·笔记·科技
Unity大海21 小时前
诠视科技Unity SDK开发环境配置、项目设置、apk打包。
科技·unity·游戏引擎