0.96寸OLED使用 sprintf() 显示动态变化数字
显示语句
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
注意:定期刷新一定要加上
1 | 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,就能刷新第三位数字了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具