历史上的今天

今天是:2025年08月19日(星期二)

正在发生

2021年08月19日 | 1.13.7_前期编程_系统时间与环型缓冲区_P

发布者:zhuanshi 来源: eefocus关键字:系统时间 手机看文章 扫描二维码
随时随地手机看文章

系统时间

首先设置一个变量记录系统时间,为了防止溢出使用的是unsigned long long的数据类型,取值范围是0~2^64,计算得到,需要运行50几亿年才会溢出。

在这里插入图片描述
在这里插入图片描述

定时器中断中累加这个值,可以通过get_system_time_us函数获取系统时间。

在这里插入图片描述

每来一个时钟脉冲(0.2us一个时钟脉冲)计数器减1,再和系统时间变量结合就可以得到us级的系统时间了。

在这里插入图片描述

环型缓冲区

假设有一个char类型的数组,最多保存6个char数据,设置一个读变量r,它表示下一个读元素的下标,设置一个写变量w,它表示下一个写元素的下标,它们的初始值都为0。


那么写数据就是:


buf[w] = val;

w = (w + 1) % len; /* len为数组长度 */


读数据就是:


val = buf[r];

r = (r + 1) % len;


当数组为空时,r == w;


当数组满时,我们使用(w + 1) % len == r来判断;


这是因为如果先将数据放进入,那么满数据时放入数据后,会出现r == w的情况,这与空判断重合了,所以我们在写的下标+1来判断,如果数据没满,那么+1也不会出现r == w。

在这里插入图片描述

顾名思义,环形缓冲区就是一个首位连接在一起的数组,读写到了数组的末尾时又会从数组的开头重复操作。

关键字:系统时间 引用地址:1.13.7_前期编程_系统时间与环型缓冲区_P

上一篇:1.13.2_高精度延时函数_P
下一篇:1_5.1.1_U-boot分析与使用_u-boot分析之编译体验_P

推荐阅读

   睿熙科技于2018年8月获得达晨、天创PreA轮融资。公司曾于2017年9月获得舜宇V基金天使轮融资,两轮融资合计亿元人民币级别,将主要用于VCSEL芯片量产。VCSEL,全名垂直腔面发射激光器,以砷化镓半导体材料为基础研制,有别于LED和LD等其他光源,具有体积小、圆形输出光斑、单纵模输出、阈值电流小、价格低廉、易集成为大面积阵列等优点,广泛应用于光...
据央视财经报道称,美国政府将决定,是继续放开对华为供货还是彻底封杀。同时,美国向盟国施压、要求将华为排除在5G网络建设的攻势依然在展开。眼下的华为还要等待另一项重要决定:在法国、德国政府都已经明确表示不会封杀华为后,英国政府是否允许华为参与本国5G网络建设变得尤为引人关注。此前的特雷莎·梅政府今年4月作出决定,允许华为参与英国5G非核...
最近希望恢复性学习一下 STM8 的相关知识,于是我选择了从头开始写温湿度传感器 DHT11 驱动代码的方式。其中遇到一些问题,也有一些收获,希望会帮助到遇到类似问题的朋友,也希望不足之处得到大家的指导。 首先介绍一下 DHT11 的必要知识一 复位时序 以及 数据时序 下面是数据时序 此外,根据数据手册得知,一次通信需要的时间是 3 毫秒左右,...
  在世界范围内,地铁都是一个内部环境复杂、人流集中的城市轨道交通系统。地铁的正常有序运行,除了我们看得见的地铁工作人员的辛苦努力外,像超声波液位计等各种看不见的高科技的精密仪器设备也功不可没。为帮助仪表用户更好地应用超声波液位计,本文谈谈超声波液位计在地铁站点雨水处理系统应用中的常见问题及处理。一、超声波液位计在地铁站点雨水处...

史海拾趣

小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved