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

深度网营销型网站建设公司怎么样在线葡京在线葡京

深度网营销型网站建设公司怎么样,在线葡京在线葡京,中华人民共和国住房和建设部网站,做pc和移动网站的适配SysTick 简介 SysTick—系统定时器是属于CM3内核中的一个外设,内嵌在NVIC中。系统定时器是一个24bit 的向下递减的计数器,计数器每计数一次的时间为1/SYSCLK,一般我们设置系统时钟SYSCLK 等于72M。当重装载数值寄存器的值递减到0的时候&#…

SysTick 简介

SysTick—系统定时器是属于CM3内核中的一个外设,内嵌在NVIC中。系统定时器是一个24bit 的向下递减的计数器,计数器每计数一次的时间为1/SYSCLK,一般我们设置系统时钟SYSCLK 等于72M。当重装载数值寄存器的值递减到0的时候,系统定时器就产生一次中断,以此循环往 复。 因为SysTick是属于CM3内核的外设,所以所有基于CM3内核的单片机都具有这个系统定时器, 使得软件在CM3单片机中可以很容易的移植。系统定时器一般用于操作系统,用于产生时基,维 持操作系统的心跳。

SysTick 寄存器介绍

SysTick—系统定时器有4个寄存器,简要介绍如下。在使用SysTick产生定时的时候,只需要配 置前三个寄存器,最后一个校准寄存器不需要使用。

SysTick 定时实验

利用SysTick 产生1s的时基,LED以1s的频率闪烁。

编程要点

1、设置重装载寄存器的值

2、清除当前数值寄存器的值

3、配置控制与状态寄存器

代码分析

SysTick 属于内核的外设,有关的寄存器定义和库函数都在内核相关的库文件core_cm3.h中。

SysTick 配置库函数

__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks){// 不可能的重装载值,超出范围if ((ticks- 1UL) > SysTick_LOAD_RELOAD_Msk) {return (1UL);}// 设置重装载寄存器SysTick->LOAD = (uint32_t)(ticks- 1UL);// 设置中断优先级NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS)- 1UL);//设置当前数值寄存器SysTick->VAL = 0UL;//设置系统定时器的时钟源为AHBCLK=72M//使能系统定时器中断//使能定时器SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk |SysTick_CTRL_TICKINT_Msk |SysTick_CTRL_ENABLE_Msk;return(0UL);}

用固件库编程的时候我们只需要调用库函数SysTick_Config()即可,形参ticks用来设置重装载寄 存器的值,最大不能超过重装载寄存器的值224,当重装载寄存器的值递减到0的时候产生中断, 然后重装载寄存器的值又重新装载往下递减计数,以此循环往复。紧随其后设置好中断优先级, 最后配置系统定时器的时钟等于AHBCLK=72M,使能定时器和定时器中断,这样系统定时器就 配置好了,一个库函数搞定。 SysTick_Config()库函数主要配置了SysTick中的三个寄存器:LOAD、VAL和CTRL,有关具体 的部分看代码注释即可。

Systick.c

#include "Systick.h"void SysTick_Delay_us(uint32_t us)
{	uint32_t i = 0;SysTick_Config(72);for(i=0;i<us;i++){while(!((SysTick->CTRL) & (1<<16)));}//关闭定时器使能SysTick ->CTRL &= ~SysTick_CTRL_ENABLE_Msk;  //清0
}void SysTick_Delay_ms(uint32_t ms)
{	uint32_t i = 0;SysTick_Config(72000);for(i=0;i<ms;i++){while(!((SysTick->CTRL) & (1<<16)));}//关闭定时器使能SysTick ->CTRL &= ~SysTick_CTRL_ENABLE_Msk;  //清0
}

Systick.h

#ifndef __SYSTICK_H
#define __SYSTICK_H#include "stm32f10x.h"                  // Device header
#include "core_cm3.h"void SysTick_Delay_ms(uint32_t ms);
void SysTick_Delay_us(uint32_t us);#endif

main函数

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "Systick.h"int main(void)
{RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;  //推挽输出GPIO_InitStruct.GPIO_Pin = GPIO_Pin_5 ; GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOE,&GPIO_InitStruct);while(1){GPIO_ResetBits(GPIOE,GPIO_Pin_5);//Delay_ms(500);  //延时500毫秒SysTick_Delay_ms(500);GPIO_SetBits(GPIOE,GPIO_Pin_5);	//Delay_ms(500);SysTick_Delay_ms(500);}}

http://www.tj-hxxt.cn/news/12878.html

相关文章:

  • 微盟微商城收费标准seo标题优化的心得总结
  • 利用网站开发诈骗品牌营销理论有哪些
  • 湖南手机版建站系统哪家好百度网页版链接
  • 北京网站建设建站公司通州区网站快速排名方案
  • 网站开发的教学视频seo快排软件
  • 南京 企业网站建设软件制作
  • 新乡市做网站南京百度快速排名优化
  • 专业上海网站建设公司排名在哪里推广自己的产品
  • 服务器添加网站百度收录最新方法
  • 即墨做网站公司合理使用说明
  • 亿建联网站是谁做的大数据推广公司
  • 网站代码管理体验营销策划方案
  • 阿里云网站域名证书推广品牌
  • 北京市网站维护公司营销策划运营培训机构
  • 重庆网站建设方案在运营中seo是什么意思
  • 成立公司注册资金seo3的空间构型
  • 做网站续费网络推广优化方案
  • wordpress 企业站教程精准引流推广
  • 一个网站做两个语言模板可以吗任何东西都能搜出来的软件
  • 做相亲网站犯法吗什么是网络销售
  • 微信公众号直接上传wordpressseo的含义是什么意思
  • 外贸网站优化深圳百度地图
  • 学做ps的软件的网站有哪些内容seo研究协会网是干什么的
  • 靖江网站建设公司win7优化大师免安装版
  • 重点学科网站建设聚名网
  • 如何用html和css做网站公司网站优化方案
  • 全球军事网站怎么联系百度人工客服
  • 美团招聘网站开发站长之家seo工具包
  • 工业和信息化部教育与考试中心百度seo培训课程
  • 搬瓦工可以长期做网站网站运营主要做什么工作