首页 > 其他分享 >CH58x嘀嗒定时器(SysTick)

CH58x嘀嗒定时器(SysTick)

时间:2023-02-27 11:48:19浏览次数:60  
标签:定时器 中断 void 嘀嗒 CH58x SysTick GPIO

一、 SysTick是一个定时器,只是它放在了NVIC中,主要的目的是为了给操作系统提供一个硬件上的中断(号称滴答中断)。只要不把它在SysTick控制及状态寄存器中的使能位清除,就永不停息。SysTick是基于32M高频晶振工作,所以32M不停止,则嘀嗒定时器一直存在。

SysTick源码参考:

/*Readme
 *
 * if程序主频为60M,SysTick_Config设置为60M,则1s进一次中断;
 * else程序测试1ms进1次中断,while循环中1000次计数一次,最终显示1s打印一次,可证明1ms进1次中断。
 */
#include "CH58x_common.h"

volatile uint32_t time , timee= 0;

void DebugInit(void)
{
    GPIOA_SetBits(GPIO_Pin_9);
    GPIOA_ModeCfg(GPIO_Pin_8, GPIO_ModeIN_PU);
    GPIOA_ModeCfg(GPIO_Pin_9, GPIO_ModeOut_PP_5mA);
    UART1_DefInit();
}

int main()
{
    SetSysClock(CLK_SOURCE_PLL_60MHz);
    DebugInit();        /* 配置串口调试 */
    PRINT("Start @ChipID=%02X\n", R8_CHIP_ID);

    SysTick_Config(60000000);

    while(1){
        PRINT("SYS_GetSysTickCnt = %d\r\n", SYS_GetSysTickCnt());
    }
}

__INTERRUPT
__HIGH_CODE
void SysTick_Handler()          /***嘀嗒定时器中断函数***/
{
    SysTick->SR = 0;                    //清除中断标志
}

 

标签:定时器,中断,void,嘀嗒,CH58x,SysTick,GPIO
From: https://www.cnblogs.com/gscw/p/17159115.html

相关文章

  • Vue2 里如何优雅的清除一个定时器
    绝大多数人清除定时器的方法<script>exportdefault{data(){return{timer:null}},mounted(){this.timer=setInterval(()=>{......
  • stm32f407探索者开发板(二十二)——通用定时器基本原理讲解
    文章目录​​一、三种定时器的区别​​​​二、通用定时器特点​​​​2.1功能特点描述​​​​2.2计数器模式​​​​三、通用定时器工作过程​​​​四、附​​一、三种......
  • LQB04 定时器代码使用01,定时闪烁灯和定时框架。
    1、STC-ISP软件定时函数的生成,定时案例库的学习;2、定时器0,闪烁LED1;定时500ms,间隔定时器1,闪烁LED2,定时800ms,间隔。3、快速搭建框架。这里只讲解直接的使用,不讲解内部细节......
  • STM32 - 定时器1 - 定时器详解
    目录1.什么是定时器1.1数量&来源1.2用途2.通用定时器框图2.1输入时钟2.2时基单元2.3输入捕获/输出比较通道1)输入阶段:2)输出阶段:3.模式配置3.1计数器模式3.2输入捕......
  • python定时器
    一.TimerTimer为threading中的一个类,用来指定的秒数后调用函数,我们来看下Timer类的构造参数。interval:设置定时运行的时间function:设置定时的事件args:参数kwargs:字典......
  • 定时器
            ......
  • linux下定时器的使用 -- alarm() & setitimer()
    Linux下的定时器有两种,以下分别介绍:1、alarm-------------------------------------------   如果不要求很精确的话,用alarm()和signal()就够了   unsignedi......
  • esp32 定时器 Arduino 库使用
    //引入定时器库#include<Ticker.h>//实例化定时器对象Tickertime1;Tickertime2;Tickertime3;Tickertime4;voidtime1_callback(){Serial.println("......
  • STM32定时器TIM_OC1PreloadConfig、TIM_ARRPreloadConfig函数详解
    ———————————————————————————————————————————版权声明:本文为CSDN博主「qlexcel」的原创文章,遵循CC4.0BY-SA版权协议,转载请......
  • javaScript BOM - 窗口事件,创建定时器与清除定时器
    1.窗口事件事件描述load等页面内容全部加载完毕,包含页面dom元素,图片,flash,css执行DOMContentLoadedDOM加载完毕,不包含图片,flash,css等就可以执行,加载速度比load......