解决OLED屏显示变量

在学习MPU6050和OLED的时候,想将MPU6050的三个角(Pitch、Roll、Yaw)显示到OLED屏上。但是因为三个角都是数字,不是字符串,不能直接传给OLED的字符串显示函数,所以我想先将数字转为字符串再将字符串传给OLED的显示函数中。

解决方法

1.导入标准库stdio.h
2.创建一个字符数组buffer,大小根据你要保存数据的大小而定
3.调用sprintf函数
下面是一个简单的例子

#include <stdio.h>
void main(){
	buffer[45];  //保存格式化后的字符
	float test=1.2563;  //测试数据
	sprintf(buffer,"This is a test:%.3f",test); //经过这个函数之后数字就转为字符了
	/**
	接下来就可以将字符串buffer传给你需要的函数了。需要注意的是,每次使用完
	buffer后最好”清零“一下,否则如果下一次的数据长度小于这次的字符串长度,
	那么这次的字符串后面的部分数据会被保留到下一次中,就可能导致你的显示不
	正常
	**/
}

清空操作可以使用memset函数,具体用法可以看一下这位博主写的文章。文章链接
如果哪里有说错,还请大家指出,我会及时更改,非常感谢

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐