STM32F103C8T6使用 SysTick(系统滴答定时器)实现定时 us、ms

一、时钟配置    STM32F103C8T6
Clock Connfiguration

To Cortex System timmer(MHz) ,系统滴答定时器的时钟为72MHz

二、us微秒延时函数

my_sysTick.c

#include "my_sysTick.h"

//nus微秒延时函数
void delay_us(uint16_t nus)
{
      //SystemCoreClock
	    HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK_DIV8);        //设置SysTick系统滴答定时器8分频, 72/8 = 9MHz
	    SysTick->LOAD = 9 * nus;             			                       //写入计数周期, 72MHz进行8分频后得到9MHz的(SysTick)时钟源频率,因此1us是9个时钟脉冲;
	    SysTick->VAL = 0x00;					                                   //清空VAL计数器,  SysTick系统滴答定时器是个递减计数器
	    SysTick->CTRL = 0x01;                                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值