蓝桥杯物联网竞赛_STM32L071_20_用printf将数据显示在OLED上

需求:

第十五届国赛确实有点变态,显示部分大概有6个所以需要大量将sprintf与OLED_ShowString配合使用才能显示相应格式的数据,所以我在想能不能简化一下这一部分直接用写好的printf语句将数据显示到显示屏上呢?

代码:

c 复制代码
#include <stdarg.h>
void myprintf(unsigned char address, const char* format, ...) {
    char ARRAY[40];
	
	  // 使用va_list和va_start来处理可变参数
    va_list args;
    va_start(args, format);

    // 使用vsprintf将可变参数列表格式化的字符串存储到ARRAY中
    vsprintf(ARRAY, format, args);
    
    // 清理可变参数列表
    va_end(args);

    // 假设OLED_ShowString函数可以在OLED屏幕上显示字符串
    OLED_ShowString(address, (unsigned char*)ARRAY);
}

思路是将需要传入的格式和数据进行整合再用OLED_ShowString函数直接输出,这样只需调用myprintf函数即可,其用法和printf完全一致,效果也一样,只不过多了一个第一个参数address,其中address设置为0将数据显示到OLED的第一行设置为2将数据显示到第2行

...意思是可变参数,就是可以输入多个参数

效果:


和printf函数的功能是一样的,面对较复杂的工程重构一下OLED_ShowString成myprintf还是很高效的

相关推荐
中科岩创6 小时前
宁波某大学高支模施工安全监测实训模型应用
科技·物联网·安全·自动化
SL-staff7 小时前
智慧园区2000+设备统一管理:JVS-IoT如何降低运维成本40%
java·开发语言·物联网·智慧园区·设备管理·运维优化·jvs-iot
水利行业RTU手艺人12 小时前
RTU固件中的“数据保险箱”——离线数据补发系统设计
c++·stm32·单片机·物联网
KaMeidebaby13 小时前
卡梅德生物技术快报|蛋白的叠氮基修饰:实操解析:核酸模板耦合蛋白的叠氮基修饰实现靶蛋白定点共价标记
前端·人工智能·物联网·算法·百度
漫途科技14 小时前
智慧水务、智慧工厂场景加速落地 物联网终端成数字化转型核心支撑
物联网
csg110716 小时前
PIC单片机防破解:从硬件到软件的全面防护
单片机·嵌入式硬件·物联网·自动化
华普微HOPERF16 小时前
容耦数字隔离器,如何调节OOK调制所产生的谐波分量?
物联网·数字隔离器
无人装备硬件开发爱好者16 小时前
光伏技术全维度深度解析:电池分类、性能原理、MPPT机制及物联网全场景工程选型实战指南
物联网·mppt·太阳能电池
小小的代码里面挖呀挖呀挖16 小时前
杰理蓝牙耳机开发--LE Audio与游戏耳机应用
笔记·单片机·物联网·学习
搞物联网的木子17 小时前
工厂车间设备远程监控详细方案(LoRa无线改造)
物联网·信息与通信·射频工程