当前位置: 首页 > news >正文

美女做爰性体网站seo在线论坛

美女做爰性体网站,seo在线论坛,连云港网站seo,求做政府采购网站stm32平台为例的软件模拟时间,代替RTC调试 我们在开发项目的时候,如果用到RTC,如果真正等待RTC到达指定的时间,那调试时间就太长了。 比如每隔半个小时,存储一次数据,如果要观察10次存储的效果&#xff0…

stm32平台为例的软件模拟时间,代替RTC调试

我们在开发项目的时候,如果用到RTC,如果真正等待RTC到达指定的时间,那调试时间就太长了。

比如每隔半个小时,存储一次数据,如果要观察10次存储的效果,那么就要等待5h,难道我们真等待5h,读取RTC数据不成?

这里借助软件,虚拟产生逐渐变化的时间,加速整个开发流程。

示例

#include <stdio.h>
#include <time.h>/*** @brief 增加指定秒数到给定的起始日期并打印结果* * @param start_date 起始日期* @param increment_seconds 增加的秒数*/
void generate_dates(struct tm start_date, int increment_seconds) {// 增加时间start_date.tm_sec += increment_seconds;// 规范时间mktime(&start_date);// 打印结果printf("Updated date and time: %04d-%02d-%02d %02d:%02d:%02d\n", start_date.tm_year + 1900, start_date.tm_mon + 1, start_date.tm_mday, start_date.tm_hour, start_date.tm_min, start_date.tm_sec);
}int main() {// 初始化时间struct tm start_date = {0};start_date.tm_year = 2023 - 1900; // 年份从1900开始算start_date.tm_mon = 6 - 1; // 月份从0开始算start_date.tm_mday = 10;start_date.tm_hour = 8;start_date.tm_min = 30;start_date.tm_sec = 0;int increment_seconds = 3600; // 每次增加一小时generate_dates(start_date, increment_seconds);return 0;
}

如果嫌弃每次增加秒数太麻烦,也可以设置分钟和小时的增加

void generate_dates(struct tm start_date, int increment_hours) {// 增加时间start_date.tm_hour += increment_hours;// 规范时间mktime(&start_date);}
}

void generate_dates(struct tm start_date, int increment_mins) {// 增加时间start_date.tm_min += increment_mins;// 规范时间mktime(&start_date);}
}

详细解释

struct tm

struct tm是一个结构体,用于表示时间信息。它定义在标准库头文件<time.h>中,包含了以下成员:

  • int tm_sec:秒数,范围是0到60(包含闰秒)。
  • int tm_min:分钟数,范围是0到59。
  • int tm_hour:小时数,范围是0到23。
  • int tm_mday:月份中的第几天,范围是1到31。
  • int tm_mon:月份,范围是0到11(0代表1月,11代表12月)。
  • int tm_year:自1900年以来的年份,比如2024年要用2024-1900表示。
  • int tm_wday:星期几,范围是0到6(0代表星期日)。
  • int tm_yday:一年中的第几天,范围是0到365。
  • int tm_isdst:是否为夏令时,正值表示夏令时,0表示非夏令时,负值表示信息不可用。

mktime

mktime是一个标准库函数,用于将struct tm结构转换为time_t类型的日历时间(根据当前的本地时间设置规范化tm结构。如果时间信息不合理(比如,秒数为负值或超出范围),mktime会自动进行调整。

求取时间差

项目开发中,经常会用到求取两个时间点的时间差,对于这一点,借助struct tm和它自带的函数实现,是十分方便的。在自己的结构体定义时,就可以用struct tm来作为时间子结构。

#include <stdio.h>
#include <time.h>int main() {struct tm timeinfo1 = {0};struct tm timeinfo2 = {0};// 初始化第一个时间变量:2023年7月10日08:30:00timeinfo1.tm_year = 2023 - 1900;timeinfo1.tm_mon = 6;timeinfo1.tm_mday = 10;timeinfo1.tm_hour = 8;timeinfo1.tm_min = 30;timeinfo1.tm_sec = 0;// 初始化第二个时间变量:2024年1月1日12:00:00timeinfo2.tm_year = 2024 - 1900;timeinfo2.tm_mon = 0;timeinfo2.tm_mday = 1;timeinfo2.tm_hour = 12;timeinfo2.tm_min = 0;timeinfo2.tm_sec = 0;// 将tm结构转换为time_t类型time_t time1 = mktime(&timeinfo1);time_t time2 = mktime(&timeinfo2);// 计算时间间隔double seconds_difference = difftime(time2, time1);double days_difference = seconds_difference / (60 * 60 * 24);printf("Difference in seconds: %.f\n", seconds_difference);printf("Difference in days: %.f\n", days_difference);return 0;
}

其他

  1. 看过这篇全部的内容,你会发现,这个功能吧,依附于time.h,这是c的库,也就是说只要支持c语言就可以使用。所以这个功能不限于stm32平台,比如FPGA的PS端也可以用。
  2. 你可能会想如何调用这个功能,才可以更加真实的反应现实情况。我这里提供一个思路,这个功能可以跟定时器结合在一起,让定时器每1s钟,调用函数来更新时间。
  3. 要我说写的这篇文章价值在哪里呢?在于推广,这个struct tm功能,初学者知道的不多。

在这里插入图片描述

http://www.khdw.cn/news/66407.html

相关文章:

  • 进行网站建设seo推广教程seo推广技巧
  • 做网站维护要什么专业html+css网页制作成品
  • 网站制作 深圳大一html网页制作作业
  • 做商城网站长沙网站公司品牌
  • 网站里面的按钮链接怎么做西安关键词快速排名
  • 新泰网站开发西安seo王尘宇
  • 怎么把网站做漂亮晚上免费b站软件
  • dw网页制作教程 div视频教程班级优化大师的功能有哪些
  • 二合一子母被的好处淄博seo
  • 十大设计创意网站小广告多的网站
  • 网站建设的机构江西seo
  • 综述题建设网站需要几个步骤私人网站管理软件
  • 做网站的技术支持十大最靠谱it培训机构
  • 做网站纸箱关键词百度一下你就知道手机版官网
  • 网站上的文章经常修 内容对seo有影响吗企业如何进行搜索引擎优化
  • div css网站源代码sem与seo
  • 网页制作工具的选择与网站整体风格是有关系的网络营销案例成功案例
  • 网站制作西安最新病毒感染什么症状
  • 给别人做时时彩网站攀枝花seo
  • 小程序制作方案seo是广告投放吗
  • 怎么做网站投票选举百度宣传推广费用
  • 虚拟主机能干什么合肥优化排名推广
  • 单位网站建设情况说明书网站设计费用
  • wordpress页面图片如何排版怎么优化网站
  • ui设计做网站东莞seo公司
  • 苏州木渎做网站公司百度下载免费安装到桌面
  • 永久域名最新网站高端网站建设哪个好
  • 凯里网站建设go007贴吧引流推广
  • 石家庄自适应网站建设深圳在线制作网站
  • 网页设计素材网站知乎域名检测