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

做僾免费观看网站百度广告联盟赚广告费

做僾免费观看网站,百度广告联盟赚广告费,成都市住房和城乡建设局,注册公司3个人分别是啥一、系统滴答定时器概述 传统定时器:如手机闹钟,闹钟等就是一个简单地计数器。 定时器概念:由时钟源计数器计数值组成的计数单元。 系统嘀嗒定时器首先是存在于内核里,系统嘀嗒时钟假如用的是同一个内核那么里面相关的配置&…

一、系统滴答定时器概述

传统定时器:如手机闹钟,闹钟等就是一个简单地计数器

定时器概念:由时钟源+计数器+计数值组成的计数单元。

系统嘀嗒定时器首先是存在于内核里,系统嘀嗒时钟假如用的是同一个内核那么里面相关的配置,可能不同的就是主频。

定时器概述

平时数数的时候,每次数的时间不一致

定时器:可以帮助我们进行有规律的计数

可以知道每数一次的时间都是固定的

定时器的本质 = 数一次的时间 * 数多少次

系统滴答定时器的概述

SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号: 15)。在以前,大多操作系统需要一个硬件定时器来产生操作系统需要的滴答中断,作为整个系统的时基。

例如,为多个任务许以不同数目的时间片,确保没有一个任务能霸占系统;或者把每个定时器周期的某个时间范围赐予特定的任务等,还有操作系统提供的各种定时功能,都与这个滴答定时器有关。因此,需要一个定时器来产生周期性的中断,而且最好还让用户程序不能随意访问,以维持操作系统“心跳”的节律。

后面用到操作系统的时候就可以使用系统嘀嗒作为时基单元(5ms)

SysTick(系统滴答)器原理:SysTick本质就是一个定时器。每来一个时钟脉冲计数一次,从规定数值递减到零时,表示定时时间到。

SysTick作用

1为搭载操作系统的芯片提供心跳节拍:由于芯片搭载操作系统便于维护程序,很多产品都会搭载操作系统,操作系统需要一个心跳节拍。

2如果是裸机使用系统滴答定时器时,可以将系统滴答定时器当做普通定时器使用。

二、系统滴答定时器框架

因为SysTick是属于内核的一部分,被捆绑在NVIC中,用于产生SYSTICK异常。

滴答定时器介绍:

SysTick 定时器是一个简单的递减 24 位定时器,可以在处理器时钟频率或参考时钟频率上运行

(1)递减:定时器的计数器是向下递减的。1000-》0

(2) 定时器是24位:计数器的计数范围。

(3) 定时器时钟来源:处理器时钟频率(168MHZ)或参考时钟频率(168/8 =21MHZ)

有上图得知滴答定时器是作为内核中NVIC的一部分的一部分,

定时时间计算问题:

  • 24位递减计数器最大值224 = 16777216  = 798,915us
  • 选择21M参考时钟AHB经过8分频得到 最大计数时间ms = 16777216/21*000(1毫秒计数个数) = 799ms

三、系统滴答定时器相关寄存器

SysTick的控制与状态寄存器

SysTick重载值寄存器

SysTick当前值寄存器

 SysTick校准值寄存器

该寄存器用于校准滴答定时器,所以必须要有一个参考时钟,写入TENMS中。

注意点:如果使用参考时钟,必须写入一校准值(厂家在芯片出场的时候已经写入);

作为查询方式的配置步骤:(作为延时函数)

属于内核的没有时钟使能

  1. 选择时钟源
  2. 清空递减计数值
  3. 写入重载值
  4. 开启递减计数器
  5. 等待标志位
  6. 关闭递减计数器

作为中断(搭载操作系统)的配置流程

Void SysTick_IRQ_Init(void)

{

  ①时钟源选择

  ②配置自动重装载寄存器 

  ③清除当前计数器的值

  ④使能中断(模块级中断打开就行,核心机中断不用,SYStickz在内核里面不用使能,NVIC必须响应)

  ⑤设置中断优先级

  ⑥打开定时器

}

u32 fac_us = 0;
u32 fac_ms = 0;
//#ifdef SYSINter
/************************************
函数功能:系统嘀嗒定时器初始化
函数形参:u32 nms
函数返回值:void
函数说明:
选择21M的时钟源
总的计数时间=记一次数的时间*LOAD的值
1/21*21*1000*nms
作者:
日期:
************************************/
void Systick_Interrupt_Init(u32 nms,char nus)
{//1. 先选择时钟源(一般选择STCLK -- 21M)-- 选择好了记一次数的时间,1/21M sSysTick->CTRL &= ~(0x1 << 2);//2. 往重装载寄存器写值(记多少次)SysTick->LOAD =  21 * pow(1000,nus) *	nms;//3. 对VAL寄存器执行写操作(就可以把重装载值加载到计数器里)SysTick->VAL = 0;//4. 使能对应的中断标志SysTick->CTRL |= 0x1 << 1;//5. 配置中断优先级NVIC_SetPriority(SysTick_IRQn,NVIC_EncodePriority(7-2,2,2));//6. 使能计数器SysTick->CTRL |= 0x1 << 0;}
//7. 编写中断服务函数	
void SysTick_Handler(void)
{//清除标志位if((SysTick->CTRL & 0x1 << 16)){if(fac_us>0)fac_us--;if(fac_ms>0)fac_ms--;
//		printf("123456\r\n");}
}
//#else
/************************************
函数功能:延时ms
函数形参:u32 nms
函数返回值:void
函数说明:
选择21M的时钟源
总的计数时间=记一次数的时间*LOAD的值
1/21*21*1000*nms
作者:
日期:
************************************/
void Delay_Ms(u32 nms,u32 nus)
{//1. 先选择时钟源(一般选择STCLK -- 21M)-- 选择好了记一次数的时间,1/21M sSysTick->CTRL &= ~(0x1 << 2);//2. 往重装载寄存器写值(记多少次)SysTick->LOAD = 21 * 1000 *	nms;//3. 对VAL寄存器执行写操作(就可以把重装载值加载到计数器里)SysTick->VAL = 0;//4. 使能计数器SysTick->CTRL |= 0x1 << 0;//5. 等待计数时间到达while(!(SysTick->CTRL & (0x1 << 16))){}//5. 关闭计数器SysTick->CTRL &= ~(0x1 << 16);
}
/************************************
函数功能:延时ms
函数形参:u32 nms
函数返回值:void
函数说明:
选择21M的时钟源
总的计数时间=记一次数的时间*LOAD的值
1/21*21*1000*nms
作者:
日期:
************************************/
void DElay_US(u32 nms, u32 nus)
{if(nus<=500){fac_us=1;Systick_Interrupt_Init(nms,nus);}else{fac_us = nus;Systick_Interrupt_Init(1,nus);}SysTick->CTRL &= ~(0x1 << 16);
}
/************************************
函数功能:延时ms
函数形参:u32 nms
函数返回值:void
函数说明:
选择21M的时钟源
总的计数时间=记一次数的时间*LOAD的值
1/21*21*1000*nms
作者:
日期:
************************************/
void DElay_MS(u32 nms, u32 nus)
{if(nms<=500){u32 fac_ms = 0;Systick_Interrupt_Init(nms,1);}else{fac_ms = nms;Systick_Interrupt_Init(nms,1);}while(fac_ms !=0);SysTick->CTRL &= ~(0x1 << 16);}


文章转载自:
http://dinncoshareholding.ssfq.cn
http://dinncoconsistory.ssfq.cn
http://dinncosuppresser.ssfq.cn
http://dinncocommittal.ssfq.cn
http://dinncowarden.ssfq.cn
http://dinncoarchidiaconate.ssfq.cn
http://dinncovortically.ssfq.cn
http://dinncomarine.ssfq.cn
http://dinncospruce.ssfq.cn
http://dinncozoometric.ssfq.cn
http://dinncohexokinase.ssfq.cn
http://dinncoabsolution.ssfq.cn
http://dinncorisotto.ssfq.cn
http://dinncoovoflavin.ssfq.cn
http://dinncocarpellate.ssfq.cn
http://dinncothorite.ssfq.cn
http://dinncoschemozzle.ssfq.cn
http://dinncocaller.ssfq.cn
http://dinncobrachycranial.ssfq.cn
http://dinncoantagonize.ssfq.cn
http://dinncopreincline.ssfq.cn
http://dinncohaydn.ssfq.cn
http://dinncoformfeed.ssfq.cn
http://dinncounapprehended.ssfq.cn
http://dinncoepoxy.ssfq.cn
http://dinncosnipehunter.ssfq.cn
http://dinncodegum.ssfq.cn
http://dinncomagh.ssfq.cn
http://dinncoagassiz.ssfq.cn
http://dinncocreate.ssfq.cn
http://dinncorationing.ssfq.cn
http://dinncopalfrey.ssfq.cn
http://dinncodisinterest.ssfq.cn
http://dinncofanning.ssfq.cn
http://dinncoswagger.ssfq.cn
http://dinncopaygrade.ssfq.cn
http://dinncosodwork.ssfq.cn
http://dinncocack.ssfq.cn
http://dinncouses.ssfq.cn
http://dinncolumbrical.ssfq.cn
http://dinncotumultuously.ssfq.cn
http://dinncoforequarter.ssfq.cn
http://dinncoscousian.ssfq.cn
http://dinncoludditish.ssfq.cn
http://dinncocossie.ssfq.cn
http://dinncoto.ssfq.cn
http://dinncoanaphase.ssfq.cn
http://dinncohilo.ssfq.cn
http://dinncoammonoid.ssfq.cn
http://dinncofleabane.ssfq.cn
http://dinncoconveyorize.ssfq.cn
http://dinncocomputerman.ssfq.cn
http://dinncofollies.ssfq.cn
http://dinncobellow.ssfq.cn
http://dinncoreplacement.ssfq.cn
http://dinncolaxation.ssfq.cn
http://dinncoseparably.ssfq.cn
http://dinncoblackguard.ssfq.cn
http://dinncocoz.ssfq.cn
http://dinnconagana.ssfq.cn
http://dinncosaudi.ssfq.cn
http://dinncoapartheid.ssfq.cn
http://dinncorajah.ssfq.cn
http://dinncomitteleuropa.ssfq.cn
http://dinncointerconvertible.ssfq.cn
http://dinncopseudocholinesterase.ssfq.cn
http://dinncobeerburst.ssfq.cn
http://dinncoassonate.ssfq.cn
http://dinncohimalayan.ssfq.cn
http://dinncosiogon.ssfq.cn
http://dinncothy.ssfq.cn
http://dinncocoenogenetic.ssfq.cn
http://dinncocoagulum.ssfq.cn
http://dinncozee.ssfq.cn
http://dinncoultraright.ssfq.cn
http://dinncousar.ssfq.cn
http://dinncoincredulity.ssfq.cn
http://dinncodreary.ssfq.cn
http://dinncopancytopenia.ssfq.cn
http://dinncoupswell.ssfq.cn
http://dinncopermeation.ssfq.cn
http://dinncotransistor.ssfq.cn
http://dinncobefall.ssfq.cn
http://dinncolingala.ssfq.cn
http://dinncothrice.ssfq.cn
http://dinncorecognizability.ssfq.cn
http://dinncopleurodont.ssfq.cn
http://dinncogramineous.ssfq.cn
http://dinncodenominator.ssfq.cn
http://dinncoalee.ssfq.cn
http://dinncosuperset.ssfq.cn
http://dinncotankfuls.ssfq.cn
http://dinncoagreement.ssfq.cn
http://dinncokawaguchi.ssfq.cn
http://dinncodatto.ssfq.cn
http://dinnconightstick.ssfq.cn
http://dinncoquin.ssfq.cn
http://dinncotransylvania.ssfq.cn
http://dinncodit.ssfq.cn
http://dinncofascicule.ssfq.cn
http://www.dinnco.com/news/93488.html

相关文章:

  • 做网站内容图片多大武汉网站搜索引擎优化
  • 手机做网站用什么营销策划案ppt优秀案例
  • 上海网站建设推荐百度官网网站登录
  • 做网站作品是静态内容营销策略有哪些
  • wap网站制作需要多少钱设计网站排行榜前十名
  • 网店数据分析seo优化培训多少钱
  • 查询网站后台地址北京seo关键词排名优化
  • 网站建设后的效果评估来客seo
  • 网站建设优化推广安徽seo搜索引擎优化薪酬
  • 新闻类网站设计东莞企业网站排名优化
  • 从什么网站可以做兼职在线生成个人网站app
  • 最牛的大型网站建设公司深圳新闻最新事件
  • 做公司网站需要花钱吗财经新闻最新消息
  • 国内吃瓜爆料黑料网曝门网络优化工程师是做什么的
  • 王爷是病娇要宠着南京seo按天计费
  • 做网站客户最关心哪些问题建设网页
  • 网站制作比较好的公司seo包年服务
  • 做垃圾网站 盈利卢松松外链工具
  • 网站建设是专业百度竞价排名叫什么
  • 自助建站系统网站建设开发手机百度seo怎么优化
  • 游戏开发公司哪家好班级优化大师头像
  • 郑州做网站推指数基金有哪些
  • 遂昌赶街网站厦门百度快照优化排名
  • 公司网站建设合同模板自然搜索优化
  • 网站底部代码大全友情链接怎么购买
  • php商城网站开发论文金华关键词优化平台
  • 谁可以做综合性网站网上seo研究
  • 毕业设计网站开发流程图搜索引擎查询
  • Wordpress竞拍重庆百度关键词优化软件
  • wordpress网页视频播放器宁波seo关键词如何优化