显示语句
OLED 可以用 sprintf() 函数输出的字符串来显示动态变化的数字。
例如,可以定义一个 u8 char oled_buff[20],作为sprintf()的第1个输入参数,第2、3个参数可按 printf() 函数的格式写。
然后在将 oled_buff 作为 OLED_ShowString() 的参数(第1、2个参数为坐标,第3个为要显示的字符串,第四个为字符高度)。
sprintf((char *)oled_buff, "Lx:%d",Joy_Lx); OLED_ShowString(32,0, (u8*)oled_buff, 16);//8*16
注意:定期刷新一定要加上
OLED_Refresh();
这个语句,否则会黑屏。
遇到问题
用STM32的ADC采样 joystick 坐标值,我用了 OLED 显示坐标值,但是显示的时候有一个问题:
显示的数字不准确。
更准确来讲,就是能显示三位数字,但是当采样值为两位数的时候,显示的值第三位屏幕不刷新。这样看上去就是错误的数字。
解决问题
1 sprintf((char *)oled_buff, "Lx:%3d",Joy_Lx); 2 OLED_ShowString(32,0, (u8*)oled_buff, 16);//8*16
将 Lx:%d 改为 Lx:%3d,就能刷新第三位数字了。
标签:16,oled,OLED,sprintf,0.96,Lx,buff From: https://www.cnblogs.com/FBsharl/p/17326158.html