一、时钟配置 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; //使能计数器,使用外部时钟源, CTRL的第0位是使能位,为1开始

最低0.47元/天 解锁文章
2189

被折叠的 条评论
为什么被折叠?



