草庐IT

定时钟

全部标签

SysTick滴答定时器使用库函数实现1us和1ms精确定时(超短代码)(内含源码.c/.h)

一、SysTick介绍SysTick—系统定时器是属于CM4内核中的一个外设,内嵌在NVIC中。一般我们叫他系统定时器或者滴答定时器。是一个24bit的向下递减的计数器,计数器每计数一次的时间为1/SYSCLK,当重装载数值寄存器的值递减到0的时候,系统定时器就产生一次中断,以此循环往复。嵌入式操作系统常有一个类似“心跳”的定时器,来分配时间片,实现宏观上的多任务。其实,操作系统的多任务,在微观上,CPU对多任务的管理是分时的。每个任务都给一定的时间片,就是把时间分成N个等份,优先级高或是重要的任务多占几个时间片,优先级低的或是不重要的任务就少占几个时间片。大部分嵌入式操作系统是基于时间片的。

STM32:基本定时器原理和定时程序

一、初识定时器TIM    定时器就是计数器,定时器的作用就是设置一个时间,然后时间到后就会通过中断等方式通知STM32执行某些程序。定时器除了可以实现普通的定时功能,还可以实现捕获脉冲宽度,计算PWM占空比,输出PWM波形,编码器计数等。STM32共11个定时器,2个高级控制定时器TIM1和TIM8,4个通用定时器TIM2~TIM5,两个基本定时器TIM6和TIM7,两个看门狗定时器和一个系统滴答定时器Systick.高级定时器TIM1和TIM8的时钟由APB1产生,其它六个通用定时器的时钟由APB2产生。它们的最大频率都可以配置成系统时钟的频率。定时器种类位数计数模式捕获/比较通道应用场景

STM32基本定时器

STM32基本定时器1.时基单元计数寄存器(TIMx_CNT)计数器从0累加计数到自动重装载数值(TIMx_ARR寄存器),然后重新从0开始计数并产生一个计数器溢出事件。预分频寄存器(TIMx_PSC)它也有缓存,也是在更新事件产生时刷新缓存。自动重装载寄存器(TIMx_ARR)设置此值。计数器达到这个值,溢出。可以给此值设置缓存,这个缓存被称为影子寄存器。当TIMx_CR1的ARPE位为1时,表示有缓存;否则没有。有缓存时:更新缓存的时机是更新事件(计数器溢出或者TIMx_EGR寄存器的UG位为1)产生时。所以缓存有时不是实时的值。2.时序中的一些概念CK_PSC:预分频寄存器的时钟,也就是

实时时钟芯片DS1307的使用及驱动代码

DS1307实时时钟芯片的介绍及驱动代码目录一、DS1307是什么?二、DS1307的功能三、DS1307的寄存器四、代码1.读出数据2.写入数据3.时间初始化设置4.获取当前时间五、注意事项总结一、DS1307是什么?DS1307是一款基于IIC总线接口的实时时钟芯片,可以独立于MCU工作,芯片具有备用电源自动切换功能,可以在主电源掉电或其他一些恶劣环境下保证系统时钟的准确。二、DS1307的功能DS1307具有产生时、分、秒、日、月、年等功能,闰年可自动调整,日历和时钟数据以BCD码的方式存放在片内的寄存器上。片内集成了56字节的具有掉电后电池保持的RAM数据存储器,可以用来保存一些关键数

【小黑嵌入式系统第十五课】μC/OS-III程序设计基础(四)——消息队列(工作方式&数据通信&生产者消费者模型)、动态内存管理、定时器管理

上一课:【小黑嵌入式系统第十四课】μC/OS-III程序设计基础(三)——信号量(任务同步&资源同步)、事件标记组(与&或&多个任务)前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站:人工智能文章目录1消息队列1.1简介1.1.1向消息队列发送消息1.1.2从消息队列接收消息1.2消息队列的状态1.3消息队列的工作方式1.一对一2.多对一3.一对多1.3数据通信1.4多任务接收数据1.5任务间同步1.6任务消息队列1.7生产者消费者模型2动态内存管理2.1简介2.2函数列表2.3数据通信3定时器管理3.1简介1消息队列1.1简介一个任务或者ISR

开源:Taurus.DTS 微服务分布式任务框架,支持即时任务、延时任务、Cron表达式定时任务和广播任务。

前言:在发布完:开源:Taurus.DTC微服务分布式事务框架,支持.Net和.NetCore双系列版本,之后想想,好像除了事务外,感觉里面多了一个任务发布订阅的基础功能。本想既然都有了基础发布订阅功能了,那要不要顺带加上延时发布功能呢?加上了会不会让事务组件不纯了?经过一翻深思,是在其上补上功能,还是,重新写一个组件,起初起名是个难题,因为DTC也可以是DistributedTaskCxxxxx,组件重名了?经过一翻英文大作战,找到了:Distributed Task Scheduler,简写可以是DTS了,才开始重启一个组件。于是就有了这个Taurus.DTS任务组件,而且功能除了原有的即

网络音频对讲广播模块-定时广播 ip网络广播音频模块SV-2401

1.模块介绍SV-2400V网络音频模块是一款高性能的10/100M网络音频模块,采用高性能处理器及专业Codec,能接收网络音频数据流,转换成音频模拟信号输出。亦能采样本地的mic输入或linein输入,发送到网络上,供其他网络音频模块接收播放,具有CD级的播放音质。同时提供高性能的双向音频数据传输,便于构建网络语音对讲系统。我们提供了NAManager软件用于模块的IP地址等参数配置,提供二次开发动态库用于网络音频广播和网络语音对讲系统开发。系统工作软件环境特点:简单易用:   系统中的音频设备可以直接和其他设备广播、对讲,不依赖软件平台支撑;开发周期快:   直接利用我公司现有的广播

蓝桥杯嵌入式(G4系列):RTC时钟

前言:     关于RTC时钟的HAL库配置我也是第一次,之前都是用库函数的写法,这里写下这篇博客来记录一下自己的学习过程。STM32Cubemx配置:    首先点击左侧的Timers的RTC,勾选以下选项    进入时钟树配置     进入时间设置,这里我把时间设置为了2023年3月12日20点20分,但是我圈出来的地方一定要注意,125✖6000刚好是750Mhz,一秒发生一次中断     到此为止,我们的STM32Cubemx配置就算是结束了,直接点击生成代码,接下来就是写代码了。代码部分:    这里有几点需要给大家强调一下,获取RTC时间或者日期时,必须先获取时间,再获取日期,顺序

微信小程序云开发定时推送订阅消息

微信小程序云开发定时推送订阅消息1.找到自己想要的模板(1)点击订阅消息(2)点击公共模板库,然后找到想要选用的模板,点击选用。(3)在我的模板里面,复制模板id。如果找不到想要用的模板,可以在公共模板的最后一页,点击下图中圈出来的,去申请自己想要的模板。2.代码部分(1)云函数部分的代码config.json云函数配置文件,用于定时提醒,具体规则可以去参考一下微信的定时触发器"permissions":{"openapi":["uniformMessage.send"]//使用subscribeMessage.send},"triggers":[{"name":"myTrigger","ty

北斗GPS卫星时钟服务器(NTP服务器)架构方法步骤

北斗GPS卫星时钟服务器(NTP服务器)架构方法步骤北斗GPS卫星时钟服务器(NTP服务器)架构方法步骤京准电子科技官微——ahjzsz一、施工简介:应贵司要求,我司提供卫星时钟系统(NTP时钟同步服务器),为解决全网络计算机系统时间同步问题; 二、施工须知:1.使用本装置之前,请您仔细阅读用户手册和装置随带的其它用户说明。2.非专业人员请勿随意打开机箱,不能改动任何跳线设置,以免影响装置正常工作。3.避免金属线头(丝)或其它金属物落入机箱内,以防止短路或其它故障的发生。4.装置运行过程中,非专业人员不可随意按动装置前面板的按键。5.装置使用之前,请将装置后面板上的接地端可靠接地。6.在接电源