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

太湖度假区建设局网站兰州家政公司

太湖度假区建设局网站,兰州家政公司,做一个微信商城小程序多少钱,专业设计网站公司今天我们来说说SysTick定时器。SysTick定时器在从参考手册中根本没有介绍。我费了九牛二虎之力才在一个犄角格拉里找到SysTick定时器的英文版的说明。在Cotex-M3有介绍#xff0c;为什么要找STM32的介绍#xff0c;是因为功能设置上还有点区别。首先看一下SysTick定时器的作用… 今天我们来说说SysTick定时器。SysTick定时器在从参考手册中根本没有介绍。我费了九牛二虎之力才在一个犄角格拉里找到SysTick定时器的英文版的说明。在Cotex-M3有介绍为什么要找STM32的介绍是因为功能设置上还有点区别。首先看一下SysTick定时器的作用下面是Cotex-M3里的一段话SysTick定时器被捆绑在NVIC中用于产生SYSTICK异常(异常号15)。在以前大多操作系统需要一个硬件定时器来产生操作系统需要的滴答中断作为整个系统的时基。例如为多个任务许以不同数目的时间片确保没有一个任务能霸占系统或者把每个定时器周期的某个时间范围赐予特定的任务等还有操作系统提供的各种定时功能都与这个滴答定时器有关。因此需要一个定时器来产生周期性的中断而且最好还让用户程序不能随意访问它的寄存器以维持操作系统“心跳”的节律。Cortex‐M3处理器内部包含了一个简单的定时器。因为所有的CM3芯片都带有这个定时器软件在不同CM3器件间的移植工作得以化简。该定时器的时钟源可以是内部时钟(FCLKCM3上的自由运行时钟)或者是外部时钟(CM3处理器上的STCLK信号)。不过STCLK的具体来源则由芯片设计者决定因此不同产品之间的时钟频率可能会大不相同你需要检视芯片的器件手册来决定选择什么作为时钟源。知道我为什么找ST关于SysTick的说明了吧SysTick介绍下面介绍STM32中的SysTick。SysTick部分内容属于NVIC控制部分一共有4个寄存器名称和地址分别是STK_CSR,0xE000E010—控制寄存器STK_LOAD,0xE000E014—重载寄存器STK_VAL,0xE000E018—当前值寄存器STK_CALRB,0xE000E01C—校准值寄存器1STK_CSR控制寄存器首先看STK_CSR控制寄存器寄存器内有4个位具有意义第0位ENABLESysTick使能位(0关闭Systick功能1开启Systick功能)。第1位TICKINTSysTick中断使能位(0关闭Systick中断1开启Systick中断)。第2位CLKSOURCESysTick时钟源选择(0使用HCLK/8 作为Systick时钟1使用HCLK作为Systick时钟)。第3位COUNTFLAGSysTick计数比较标志如果在上次读取本寄存器后SysTick 已经数到了0则该位为1。如果读取该位该位将自动清零。2STK_LOAD重载寄存器SysTick是一个递减的定时器。当定时器递减至0时重载寄存器中的值就会被重装载继续开始递减。STK_LOAD重载寄存器是个24位的寄存器最大计数0xFFFFFF。3STK_VAL当前值寄存器STK_VAL当前值寄存器也是个24位的寄存器。读取时返回当前倒计数的值写它则使之清零同时还会清除在SysTick控制及状态寄存器中的COUNTFLAG标志。4STK_CALRB校准值寄存器这个寄存器以我目前的水平还用不到大体意思明白点把英文说明放这吧。位31 NOREF1没有外部参考时钟(STCLK不可用)0外部参考时钟可用。位30 SKEW1校准值不是准确的1ms0校准值是准确的1ms。位[23:0] Calibration value。英文说明Indicates the calibration value when the SysTick counter runs on HCLK max/8 as external clock. The value is product dependent, please refer to the Product Reference Manual, SysTick Calibration Value section. When HCLK is programmed at the maximum frequency, the SysTick period is 1ms. If calibration information is not known, calculate the calibration value required from the frequency of the processor clock or external clock.SysTick定时器除了能服务于操作系统之外还能用于其它目的如作为一个闹铃用于测量时间等。要注意的是当处理器在调试期间被喊停(halt)时则SysTick定时器亦将暂停运作。SysTick定时器跑程序下面我们就应用SysTick定时器来裸奔把它作为一个定时器来用还是老一套在寄存器头文件中添加定义寄存器。//*****************************************************************//*                               SystemTick-Register                                 //*******************************************************************#define SYSTICK_TENMS    (*((volatile unsigned long *)0xE000E01C))#define SYSTICK_CURRENT  (*((volatile unsigned long *)0xE000E018))#define SYSTICK_RELOAD   (*((volatile unsigned long *)0xE000E014))#define SYSTICK_CSR       (*((volatile unsigned long *)0xE000E010))配置SysTick寄存器void SysTick_Configuration(void){SYSTICK_CURRENT0; //当前值寄存器SYSTICK_RELOAD20000; //重装载寄存器系统时钟20M中断一次1mSSYSTICK_CSR|0x06;// HCLK作为Systick时钟Systick中断使能位}中断处理void SysTick_Handler(void) //中断函数{extern unsigned long TimingDelay; // 延时时间注意定义为全局变量SYSTICK_CURRENT0;if (TimingDelay ! 0x00)TimingDelay--;}利用SysTick的延时函数unsigned long TimingDelay;  // 延时时间注意定义为全局变量void Delay(unsigned long nTime)  //延时函数{SYSTICK_CSR|0x07;   // 使能SysTick计数器TimingDelay nTime; // 读取延时时间while(TimingDelay ! 0); // 判断延时是否结束SYSTICK_CSR|0x06;// 关闭SysTick计数器}int main(){SystemInit0();    //系统(时钟)初始化stm32_GpioSetup (); //GPIO初始化SysTick_Configuration(); //配置systick定时器while(1){GPIO_PORTB_ODR|(15);Delay(1000); //1SGPIO_PORTB_ODR~(15);Delay(1000); //1S}}完成Delay(1000);实现了1S的精确延时。利用Delay(unsigned long nTime);配合SysTick定时器可以实现任意时间的精确延时。当然通过定时器TIMx也是可以这样做的我只是用它来说明SysTick定时器的用法。
http://www.zqtcl.cn/news/506747/

相关文章:

  • 网站没有织梦后台无锡seo公司网站
  • 哈尔滨住房和城乡建设厅网站公司网站建设 费用入账
  • 网站图片缩略图t恤图案设计网站
  • 对招聘网站页面设计做建议网站流量 转化率
  • 怎么样做网站注册量郴州市北湖区
  • 山东企业展厅设计公司济南网站建设优化公司
  • 什么网站免费做游戏工艺品外贸订单网
  • 免费推广网站制作网站设计的技术有
  • 深圳电商网站建设高校学风建设专栏网站
  • 品牌网站建设 2蝌蚪小三网合一的网站怎么做
  • 对二次网站开发的认识wordpress修改图片大小
  • 电商网站项目建设个人网站空间收费
  • 官方网站制作思路樟木头东莞网站建设
  • 怎么寻找做有益做网站的客户大连网站推广
  • 湖南网站开发企业excel网站建设
  • 安康网站建设技巧腾讯建设网站视频下载
  • 如何能让企业做网站的打算中企动力做网站贵吗
  • wordpress 空间常州seo
  • 网站负责人备案采集照具体要求湛江网吧
  • 长春建站模板制作php网站空间购买
  • 网站域名到期怎么办食品包装设计的介绍
  • 建设网站专栏台州cms模板建站
  • 网站建设套餐方案湛江网站如何制作
  • wordpress网站怎么打开西安企业做网站多少钱
  • 电子商务网站建设的实训报告网页美工设计夏霍
  • 在一呼百应上做网站行吗江西省住房和城乡建设厅的网站
  • 对百度网站进行分析山水人家装饰公司
  • 接网站开发广州仿站定制模板建站
  • 资源网站源码下载制作软件的app有哪些
  • 免备案空间网站电子商务网站经营特色分析的主要内容包括