GD32F4xx系统时钟滴答定时器
1,打开GD32F4的用户手册,该芯片是基于cortex M4的。
2,GD32F4芯片的时钟树,可以找到Systick的时钟源。
3,系统时钟配置:
在System_gd32f4xx.c文件中根据当前的硬件选择对应的时钟
创建一个systick.c文件,配置系统时钟
volatile static uint32_t g_delay_time; //用于做延时函数调用
uint32_t g_systick=0; //用于记录当前系统运行时间/*注SysTick_Config 和 NVIC_SetPriority 函数在m4 的内核头文件中有详细实现,大家可以参考下*/
void systick_config(void)
{/* setup systick timer for 1000Hz interrupts *//*这里相当于配置的是1ms中断一次*/if (SysTick_Config(SystemCoreClock / 1000U)){/* capture error */while (1){}}/* configure the systick handler priority *//*设置中断优先级*/NVIC_SetPriority(SysTick_IRQn, 0x00U);
}void SysTick_Handler(void) //中断函数
{delay_decrement();
}void delay_1ms(uint32_t count)
{g_delay_time = count;while(0U != g_delay_time){}
}void delay_decrement(void)
{if (0U != g_delay_time){g_delay_time--;}g_systick++;
}uint32_t timer_get_system_ms(void)
{return g_systick;
}
3,在main函数中调用时钟配置。
4,调试程序,观察g_systick实时变化,
void SysTick_Handler(void)中断函数每进来一次,g_systick增加1.
说明系统滴答时钟配置正常可用
GD32F4xx系统时钟滴答定时器相关推荐
- 十三届蓝桥杯嵌入式系统时钟——滴答定时器
在我的上一篇led中有一种延时led亮灭的代码里面有一个uwTick,它每1ms会加一,这是在哪里定义的呢?包括 HAL_Delay() 函数,利用的就是SysTick系统滴答定时器. Systick ...
- STM32之Systick(系统时钟滴答定时器)
systick定时器有两个可选的时钟源,一个是外部时钟源(STCLK,等于HCLK/8),另一个是内核时钟(FCLK,等于HCLK).假若你选择内核时钟,并将HCLK频率设置为72MHz的话,系统时钟 ...
- STM32系统滴答定时器(systick)应用
一:系统滴答定时器(systick) 1.systick介绍 Systick就是一个定时器而已,只是它放在了NVIC中,主要的目的是为了给操作系统提供一个硬件上的中断(号称滴答中断).滴答中断?这里来 ...
- stm32系统滴答定时器使用
STM32菜鸟成长记录---系统滴答定时器(systick)应用 标签: delay任务测试reference编译器工作 2012-08-19 22:55 47395人阅读 评论(4) 收藏 举 ...
- stm32滴答计时器_stm32中的系统滴答定时器使用
系统滴答定时器对于stm32的初学者来说还是非常重要的,因为随着你学习的深入编程过程中肯定会调用延时函数,比如我之前的一些gpio相关的实验中.那么延时函数的编写也是几种方法的,一般开始接触都是让系统 ...
- STM32——系统滴答定时器
STM32--系统滴答定时器 宗旨:技术的学习是有限的,分享的精神是无限的. 一.SysTick[内核中] [风格:先描述一下库对寄存器的封装,再举例实现某些功能] SysTick定时器被捆绑在NVI ...
- 滴答定时器的计数模式_【高手私藏】STM32学习笔记:SysTick滴答时钟
今天我们来说说SysTick定时器.SysTick定时器在从参考手册中根本没有介绍.我费了九牛二虎之力才在一个犄角格拉里找到SysTick定时器的英文版的说明.在Cotex-M3有介绍,为什么要找ST ...
- 定时器开始时延时了十几秒_第六章--系统滴答定时器
第六章--系统滴答定时器 简介:系统滴答定时器是内核(这里指M4)定时器使用的是内核时钟源168MZ或可以选择外部时钟源21MZ 应用场合: 为UCOS系统提供时钟节拍 作为简单的定时器延时使用 // ...
- 系统滴答定时器的应用
1 实验目的 (1) 理解滴答定时器SysTick 定时器的工作原理: (2) 学会使用中断函数. 2 实验任务 (1) 编写 SysTick 定时器初始化程序: (2) 编写 SysTick 定时器 ...
最新文章
- ReMILO:使用短读和长读的参考辅助错配检测算法
- L2-002. 链表去重
- becon帧 wifi_WireShark对于WIFI数据帧的分析
- 「Ubuntu」ModuleNotFoundError: No module named ‘softwareproperties‘
- 使用Lambda 表达式注册Bean
- Java毕设项目:垃圾分类(带源码和搭建过程)
- py thon 多线程(转一篇好文章)
- 人工智能重点领域有哪些呢?
- 关于Activity的四种启动模式详解
- 算法设计与分析练习题答案
- 【持续更新】总结国内外图形学物理模拟相关学者和网站
- oracle中查看实例,oracle查看数据库实例,查看数据库实例名
- NLTK文本分割器是如何工作的
- android自定义秒表,Android:一个简单的秒表实现
- Obloq模块:基于ESP8266的物联网模块
- uniapp点击生成商品海报、下载海报、分享海报
- php使用PdfParser搭配tcpdf解析pdf文件
- kaggle 2018 data science bowl____一次失败的 kaggle 项目参与经历及反思总结
- Git remote: error: this exceeds file size limit of 100.0 MB
- linux--线程(2续)
热门文章
- 辛普森悖论_所谓的辛普森悖论
- ICML 2021 | 上交华为提出GWD:旋转目标检测新方法
- gdufe1534-小小怪一定认真听课-dfs
- python __slots__ 详解(上篇)
- fastadmin table 列表 时间更改为 年月日
- nRF51822 UART学习
- pycharm--编辑md文件
- JS基础知识---Hoisting
- ES 查询时报错 I/O 异常: Request cannot be executed; I/O reactor status: STOPPED
- 重装系统时不小心全盘重新分区的恢复方法