CubeIDE 下如何将版本号和日期关联。

  1. 使用__DATE__ 和__TIME__获取编译日期和时间。

  2. 将__DATE__ 和__TIME__转换成UINT

  3. 将转换后的数赋值给版本号。

  4. 设置工程保证每次都会重新编译对应文件。

对应函数如下:

cpp 复制代码
uint8_t VER_MAIN;
uint8_t VER_SUB;
uint8_t VER_MIN;
#include <stdlib.h>
void temp_version(void)
{
    // 获取编译日期和时间的字符串
    const char* compileDate = __DATE__;
    const char* compileTime = __TIME__;

    // 将月份映射到数字
    char monthStr[4];
    strncpy(monthStr, compileDate, 3);

    // 解析时间字符串,提取小时和分钟
    int hour, minute;
    sscanf(compileTime, "%d:%d", &hour, &minute);
    uint8_t day = atoi(compileDate + 4);
    VER_MAIN = day;
    VER_SUB = hour;
    VER_MIN = minute;
}

工程设置:

1.在工程中右击对应文件,选择"构建选择的文件"

2.复制控制台构建信息,需要复制整行

3.在构建步骤中粘贴上一步复制的内容。

相关推荐
BackCatK Chen5 小时前
第 8 篇:TMC2240 电机正反转实现|DIR 引脚控制 + 代码优化(稳定不抖动)
stm32·单片机·嵌入式硬件·保姆级教程·电机正反转·tmc2240·dir引脚控制
Hello_Embed11 小时前
libmodbus 移植 STM32(USB 串口后端篇)
笔记·stm32·单片机·嵌入式·freertos·libmodbus
羽获飞16 小时前
从零开始学嵌入式之STM32——9.STM32的时钟系统
stm32·单片机·嵌入式硬件
wotaifuzao19 小时前
STM32 + FreeRTOS 的订阅通知组件架构
stm32·嵌入式硬件·架构·freertos·事件驱动·嵌入式架构
小龙报20 小时前
【51单片机】深度解析 51 串口 UART:原理、配置、收发实现与工程化应用全总结
c语言·开发语言·c++·stm32·单片机·嵌入式硬件·51单片机
Lester_11011 天前
STM32 高级定时器PWM互补输出模式--如果没有死区,突然关闭PWM有产生瞬间导通的可能吗
stm32·单片机·嵌入式硬件·嵌入式软件
小李独爱秋1 天前
“bootmgr is compressed”错误:根源、笔记本与台式机差异化解决方案深度指南
运维·stm32·单片机·嵌入式硬件·文件系统·电脑故障
宵时待雨1 天前
STM32笔记归纳8:时钟
笔记·stm32·单片机·嵌入式硬件
JJRainbow1 天前
SN75176 芯片设计RS-232 转 RS-485 通信模块设计原理图
stm32·单片机·嵌入式硬件·fpga开发·硬件工程
不做无法实现的梦~1 天前
PX4编译环境配置和qgc配置安装教程(2)
linux·stm32