STM32----SysTick实现监控开机时长
SysTick实现监控开机时长
systick系统定时器,又叫滴答定时器。在我看来比TIM使用起来要简单。
在实现监控开机时长的例子中:配置定时器以相同的时间间隔进入中断,在中断不断累加计数变量,然后利用计数变量和时间间隔计算出相应的时长。
首先是对SysTick的配置,主要配置其进入中断的时长,一般来说SysTick使用的AHB时钟,计数计数器加一的时间为1/72000000s.在SysTick_Config()函数中参数为进入中断的计数。配置好后,计数器中的数值即为配置的数,每一个时钟周期计数器中的数减一,当计数器中的数为0时触发中断,进入中断服务函数。
void SysTick_Init(void)
{if(SysTick_Config(SystemCoreClock/1000)){while(1);}SysTick->CTRL &=~SysTick_CTRL_ENABLE_Msk;
}
SystemCoreclock的值为系统时钟的值72MHz。对于配置函数SysTick_Config(),配置成功返回0,配置失败返回1.
SysTick->CTRL表示SysTick的使能位。
在这里SysTick_Config()函数的参数为SystemCoreclock/1000,经过计算可以知道进入中断一次的时间为1ms。
t = (1/72000000) * (SystemCoreclock/1000)
设置变量在中断中统计进入中断的次数,从而得到时间。
void SysTick_Handler(void)
{Delay_Times++;count_1s++;if(count_1s == 1000){flag = 1;count_1s = 0;}else{flag = 0;}
}
变量Delay_Times用来统计进入中断的次数,变量count_1s和flag控制串口每隔1秒钟向上位机打印一次。
主函数:
int main(void){SysTick_Init();GPIO_Config();USART_Config();SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;//使能SysTickflag = 0;while(1){if(flag){secs = Delay_Times/1000;mins = secs/60;hours = mins/60;secs = secs - mins*60;mins = mins - hours*60;printf("the time is:%d:%d:%d\r\n",hours,mins,secs);}else{}}
}
STM32----SysTick实现监控开机时长相关推荐
- win10查看电脑开机时长
查看电脑开机时间: 以管理员身份运行Windows PowerShell运行以下命令:(get-date) - (gcim Win32_OperatingSystem).LastBootUpTime可 ...
- 计算机开机时10声响,电脑开机时听到滴滴滴3短声是什么问题
电脑开机时听到滴滴滴3短声是什么问题以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 电脑开机时听到滴滴滴3短声是什么问题 ...
- 电脑cpu风扇转一下就停无法开机_电脑开机时cpu风扇转一下就停了,修改cpu核数时无法开机-...
在有些时候我们的电脑开机时cpu不转,这该怎么办呢?下面就由学习啦小编来为你们简单的介绍电脑开机时cpu不转的原因及解决方法吧!希望你们喜欢!电脑开机时cpu不转的原因及解决:1.电源供电有问题或是主 ...
- 解决计算机开机时Cannot load resource dll:REPLRES.RLL问题
解决计算机开机时"Cannot load resource dll:REPLRES.RLL"问题 最近受计算机影响较大,每当计算机开机时,都会弹出 "Cannot loa ...
- 成功解决windows开机时,系统提示此windows副本不是正版
成功解决windows开机时,系统提示此windows副本不是正版 目录 解决问题 解决思路 解决方法 解决问题 解决思路 系统装机时采用的非正win系统的时候,用过一段时间后就会出现这样的警告! 解 ...
- 计算机开机的四个画面,教你修改电脑开机时“欢迎使用”四个字!
教你修改电脑开机时"欢迎使用"四个字! 作者:佚名 来源:绿茶软件园 2011-06-30 10:16:31 一.这几个字保存在"Windowssystem32Logon ...
- STM32的推挽输出和开漏输出
文章目录 前言 一.推挽输出 二.开漏输出 三.区别和适应场景 总结 前言 本篇文章将带大家了解STM32的推挽输出和开漏输出,并且学习这两个的区别,学习分别在什么时候使用这两个不同的输出方式. 在 ...
- 记录佩戴耳机时长App开发
移动辅助类App编程项目 文章目录 移动辅助类App编程项目 软件说明 实现功能 源代码 `layout_main.xml`静态界面布局文件 `MainActivity`主界面 `RecordTime ...
- 计算机启动时bios主要完成的功能,电脑开机时bios的作用(急用)
▲BIOS是什么? BIOS全名为(Basic Input Output System)即基本输入/输出系统,是电脑中最基础的而又最重要的程序.我们把这一段程序存放在一个不需要电源的记忆体(芯片)中, ...
最新文章
- ecshop中ajax的调用原理
- TensorFlow练习24: GANs-生成对抗网络 (生成明星脸)
- Require.js
- Spark SQL 最简单例子
- Python3 正则表达式特殊符号及用法(详细列表)
- 模拟银行自助终端系统
- 学练结合,快速掌握Kubernetes Service
- jdbc读取mysql时分秒yyyy-mm-dd hh:_[转]JDBC中日期时间的处理技巧
- linux安全加固_安全服务之安全评估与加固
- 多线程的那点儿事(之自旋锁)
- wikioi 1430 素数判定
- pycharm 修改新建文件时的头部模板(默认为__author__='...')
- 两台ROS相互通信,并测试节点
- NOIP2010导弹拦截
- 20180626 STM32 ---利用KILE5 仿真IO口的波形图
- android和chrome的发展与未来[j].移动通信,基于Android手机app开发与设计 毕业设计 开题报告...
- 一个很好用的练习英语听力的网站
- 领导“驭人9术”,厚黑但实用,掌握了,不管什么下属都能摆平
- HTML Rendering Error(This view has crashed)处理方法
- Proxyee-down的下载与安装教程