stm32f103c8t6最小系统的系统定时器设置

本文主要介绍了如何配置STM32F103C8T6的系统定时器,并解决了一个在使用野火封装时遇到的中断未添加的问题。通过调试,作者在bsp_SysTick.c和bsp_SysTick.h文件中进行了相关设置,并引用了stm32f10x_it.h文件以实现中断服务。
摘要由CSDN通过智能技术生成

 调试了一晚上stm32f103c8t6系统定时器野火封装,原来是中断忘记添加。

bsp_SysTick.c:

  
#include "bsp_SysTick.h"
#include "core_cm3.h"
#include "misc.h"

static __IO u32 TimingDelay;
 
/**
  * @brief  启动系统滴答定时器 SysTick
  * @param  无
  * @retval 无
  */
void SysTick_Init(void)
{
	/* SystemFrequency / 1000    1ms中断一次
	 * SystemFrequency / 100000	 10us中断一次
	 * SystemFrequency / 1000000 1us中断一次
	 */
//	if (SysTick_Config(SystemFrequency / 100000))	// ST3.0.0库版本
	if (SysTick_Config(SystemCoreClock / 100000))	// ST3.5.0库版本
	{ 
		/* Capture error */ 
		while (1);
	}
}

/**
  * @brief   us延时程序,10us为一个单位
  * @param  
  *		@arg nTime: Delay_us( 1 ) 则实现的延时为 1 * 10us = 10us
  * @retval  无
  */
void Delay_us(__IO u32 nTime)
{ 
	TimingDelay = nTime;	

	// 使能滴答定时器  
	SysTick->CTRL |=  SysTick_CTRL_ENABLE_Msk;

	while(TimingDelay != 0);
}

/**
  * @brief  获取节拍程序
  * @param  无
  * @retval 无
  * &
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32最小系统硬件组成详解 0组成: 电源 复位 时钟 调试接口 启动 1、电源 : 一般3.3V LDO供电 加多个0.01uf去耦电容 2、复位:有三种复位方式:上电复位、手动复位、程序自动复位 通常低电平复位:(51单片机高电平复位,电容电阻位置调换) 上电复位,在上电瞬间,电容充电,RESET出现短暂的低电平,该低电平持续时间由电阻和电容共同决定,计算方式如下:t = 1.1RC(固定计算公式) 1.1*10K*0.1uF=1.1ms 需求的复位信号持续时间约在1ms左右。 手动复位:按键按下时,RESET和地导通,从而产生一个低电平,实现复位。 3、时钟 : 晶振+起振电容 +(反馈电阻MΩ级) 如使用内部时钟: 对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。 2)对于少于100脚的产品,有2种接法: i)OSC_IN和OSC_OUT分别通过10K电阻接地。此方法可提高EMC性。 32.768KHZ: 可选择只接高速外部时钟8MHZ或 既多接一个32.768MHZ的外部低速时钟。 32.768KHZ时钟作用: 用于精准计时电路 万年历 通常会选择32.768KHz的晶振,原因在于32768=2^15,而嵌入式芯片分频设置寄存器通常是2的次幂的形式,这样经过15次分频后,就很容易的1HZ的频率。实现精准定时。用于精准计时电路 万年历 晶振:一般选择8MHZ 方便倍频 有源:更稳定 成本更高 需要接电源供电 不需要外围电路 3脚单线输出 无源:精度基本够 方便灵活 便宜 最大区别:是否需要单独供电 无源晶振需要外接起振电容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值