江协科技 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!");

显示效果

中文字符显示效果

相关推荐
Qingniu0117 分钟前
汽车气候控制传感器
人工智能·科技·单片机·嵌入式硬件·汽车·电脑·散热风扇
矽睿半导老谢3 小时前
霍尔传感器在汽车车门把手上的应用
人工智能·科技·嵌入式硬件·汽车·智能硬件
计算机科研之友(Friend)3 小时前
海外招聘丨埃因霍温科技大学—安全人工智能自动机器学习博士后
图像处理·人工智能·科技·机器学习·信号处理
Vincent_Zhang2333 小时前
第三章补充:拉格朗日乘子法(B站:中华科技大学-李柏坚)
科技
河南查新信息技术研究院3 小时前
科技查新报告需要多长时间能完成?
大数据·数据库·科技
Qingniu0115 小时前
D9741是一块脉宽调制方三用于也收路像机和笔记本电的等设备上的直流转换器。在便携式的仪器设备上。
科技·单片机·电脑·笔记本电脑·电视摄像机·摇头机·白色家电
云卓SKYDROID17 小时前
无人机航测系统技术特点!
科技·无人机·科普·航测·云卓科技
2401_857617621 天前
SSM 架构上的 Vue 电脑测评系统:彰显科技评测魅力
vue.js·科技·架构
汇能感知1 天前
如何测量分辨率
经验分享·笔记·科技·相机