【NUCLEO-G071RB】009——HAL库-显示编译时间

news2025/1/15 19:34:06

NUCLEO-G071RB:009——HAL库-显示编译时间

    • 编译时间
    • 设计目标
    • 程序修改
    • 运行测试

编译时间

这里的编译时间指的是烧录文件的编译时间,它由编译环境的日期和时间共同决定。

设计目标

1、获取编译时间,默认是ASC码格式
2、将编译时间转换为HEX

程序修改

typedef struct
{
    uint16_t year;
    uint8_t  month;
    uint8_t  day;
    
    uint8_t  hour;
    uint8_t  minute;
    uint8_t  second;
}compile_time_st;

compile_time_st st_compile_time = {0,};


//调用以下函数时,将结构体st_compile_time的地址丢在入口参数上
void bsp_get_compile_time(compile_time_st * time_buf)
{
    const uint8_t   Month_Table[12][3] = {"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
    uint8_t i;
    const uint8_t   date[12] = __DATE__, 
                    time[9] = __TIME__;
    //日期 ASC-->HEX
    time_buf -> year    = (date[7]-'0')*1000 + (date[8]-'0')*100 + (date[9]-'0')*10 + (date[10]-'0')*1;
    for (i = 0;i <12;i ++)
    {
        if ((Month_Table[i][0] == date[0]) && (Month_Table[i][1] == date[1]) && (Month_Table[i][2] == date[2])){
            time_buf -> month = i + 1;
            break;
        }
    }
    //时间 ASC-->HEX
    time_buf -> day     = (date[4] == ' ') ? ((date[5]-'0')*1):((date[4]-'0')*10 + (date[5]-'0')*1);
    time_buf -> hour    = (time[0]-'0')*10 + (time[1]-'0')*1;
    time_buf -> minute  = (time[3]-'0')*10 + (time[4]-'0')*1;
    time_buf -> second  = (time[6]-'0')*10 + (time[7]-'0')*1;
}


运行测试

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1810627.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

哈尔滨等保如何做?

哈尔滨等保测评是确保信息系统安全稳定运行的重要一环&#xff0c;它涉及到对业务、资产、安全技术和安全管理的全面调研和评估。本文将详细阐述哈尔滨等保测评的实施步骤和注意事项&#xff0c;帮助读者更好地理解和执行等保测评工作。 首先&#xff0c;我们需要明确等保测评的…

新品发布 | 捷云等保一体机2.0全新上市,助力中小企业破解等保难题

等保2.0时代&#xff0c;随着网络威胁不断复杂化和组织化&#xff0c;作为网络安全“弱势群体”的中小企业&#xff0c;等保建设工作正面临着安全意识、管理、人才、资金捉襟见肘等问题&#xff0c;主要体现在以下两个方面&#xff1a; 等保建设流程复杂 中小企事业单位缺乏专…

条件概率的理解

P(A)表示A的先验概率 P(B)表示B的先验概率 P(A | B)表示在B发生的情况下&#xff0c;A的条件概率 P(B | A)表示在A发生的情况下&#xff0c;B的条件概率 先验概率是在进行实验之前基于当前知识对结果概率的最佳合理评估。后验概率是在考虑了新信息后&#xff0c;事件发生的修正…

行为树BehaviorTree

主要依托于BehaviorTree.CPP进行介绍。 1 基本概念 1.1 是什么与用来做什么 官网 https://www.behaviortree.dev/docs/learn-the-basics/BT_basics Unlike a Finite State Machine, a behavior Tree is a tree of hierarchical nodes that controls the flow of execution o…

C++:day5

思维导图 例题 #include <iostream> using namespace std; class RMB { private:int yuan;int jiao;int fen;static int count;public:RMB(){count;}RMB(int yuan, int jiao, int fen) : yuan(yuan), jiao(jiao), fen(fen){count;}const RMB operator(const RMB &R)…

基于springboot实现交通管理在线服务系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现交通管理在线服务系统演示 摘要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装交通管理在线服…

上海亚商投顾:微盘股指数涨近5% 超跌低价股集体反弹

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 大小指数6月7日走势分化&#xff0c;沪指全天探底回升&#xff0c;深成指跌近1%&#xff0c;创业板指跌超2%&a…

wordpress轻量免费主题

WordPress建站公司 适合提供WordPress建站服务的公司或个体(个人)工作室使用的WordPress建站公司主题模板。 https://www.jianzhanpress.com/?p545 首屏大图红色简洁wordpress主题 首屏大图红色简洁wordpress主题&#xff0c;非常地高端大气上档次&#xff0c;可用于多个行…

《软件定义安全》之六:SDN和NFV安全实践

第6章 SDN和NFV安全实践 1.基于流的安全防护 1.1 DDoS检测清洗 DDoS检测清洗应用ADS APP的设计思路&#xff1a;借助安全控制平台中流相关的组件&#xff0c;从SDN控制器中获得相应的流量&#xff0c;并根据抗DDoS应用订阅的恶意流特征进行检测&#xff0c;发现恶意流量后&a…

Day 43 keepalived高可用集群

keepalived高可用集群 负载均衡 lb集群 load balance ​ 流量分发 高可用 ha集群 high availability ​ 主要是给服务器做冗余 keepalive 持久连接 保持存活 keepalived 高可用软件名称 红帽有自己的高可用集群套件&#xff1a;RHCS keepalived介绍 ​ keepalived是集…

8.1 基本打印功能

本文仅供学习交流&#xff0c;严禁用于商业用途&#xff0c;如本文涉及侵权请及时联系本人将于及时删除 在使用“MFC应用”项目模板生成应用程序的过程中&#xff0c;如果在“高级功能”窗口中不取消对打印和打印预览的设置&#xff0c;那么应用程序就已经具备了简单的打印和打…

开源VisualFbeditor中文版,vb7 IDE,VB6升级64位跨平台开发安卓APP,Linux程序

吴涛老矣&#xff0c;社区苦无64位易语言&#xff0c;用注入DLL增强菜单&#xff0c;做成VS一样的界面 终归是治标不治本&#xff0c;一来会报毒&#xff0c;二来闭源20年没更新了 开源的VB7&#xff0c;欢迎易语言的铁粉进群&#xff1a;1032313876 【Freebasic编程语言】编绎…

细说中国自动化集成商100家

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 在当今快速发展的工业自动化领域&#xff0c;中国企业正以其卓越的技术实力和创新能力&#xff0c;在全球市场上占据着越来越重要的位置。为了更…

【MySQL】(基础篇七) —— 通配符和正则表达式

通配符和正则表达式 本章介绍什么是通配符、如何使用通配符以及怎样使用LIKE操作符进行通配搜索&#xff0c;以便对数据进行复杂过滤&#xff1b;如何使用正则表达式来更好地控制数据过滤。 目录 通配符和正则表达式LIKE操作符百分号(%)通配符下划线(_)通配符 通配符使用技巧正…

【APP逆向】央视频播放量增加,逆向全过程解密

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

2024北京通信展:聚焦新一代信息通信技术、产品、应用及解决方案

中国国际信息通信展览会&#xff08;PTEXPO&#xff09;作为工业和信息化部主办的ICT行业盛会&#xff0c;自1990年创办以来&#xff0c;已走过了三十多年的辉煌历程。三十余载光阴荏苒&#xff0c;PT展以其独特的魅力&#xff0c;不仅成为反映信息通信行业发展新成果的重要窗口…

【vue3|第8期】深入理解Vue 3 computed计算属性

日期&#xff1a;2024年6月10日 作者&#xff1a;Commas 签名&#xff1a;(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释&#xff1a;如果您觉得有所帮助&#xff0c;帮忙点个赞&#xff0c;也可以关注我&#xff0c;我们一起成长&#xff1b;如果有不对的地方&#xf…

邻接矩阵深度优先遍历

深度优先遍历&#xff0c;就是一条路&#xff0c;走到底&#xff0c;然后再走下一个岔路。 下面代码就主要使用递归来进行&#xff0c;当然也可以借助栈来实现。 private void traverse(char v, boolean[] visited) {int index _getIndexOfV(v);//获取v顶点在vertexS字符数组…

传感器技术

传感器技术 传感器概述传感器简介传感器的特性线性度灵敏度迟滞重复性传感器的动态特性 步进电动机步进电机的工作原理 传感器概述 传感器简介 传感器&#xff1a;能够感受被测量并按照一定规律转换成可用输出信号的器件或装置。 敏感元件&#xff1a;传感器中能直接感受或响…

Qwen 2 模型介绍及其应用探索

引言 Qwen 2 模型家族最近引起了广泛关注&#xff0c;作为继 Qwen 1.5 的升级版&#xff0c;这些模型在多语言支持、推理能力和长上下文处理等方面表现出色。本文将深入探讨 Qwen 2 模型的特点、应用场景以及具体的代码示例&#xff0c;帮助读者更好地理解和使用这些模型。 Q…