stm32f103c8t6中的sys.h文件
时间: 2024-05-03 21:15:58 浏览: 30
在STM32F103C8T6中,sys.h文件是系统头文件,它包含了一些与系统相关的定义和函数。该文件通常用于配置系统时钟、中断优先级和系统初始化等操作。
sys.h文件中常见内容包括:
1. 系统时钟配置:可以通过该文件设置系统时钟源、时钟分频系数等参数,以满足不同应用的需求。
2. 中断优先级配置:可以通过该文件设置各个中断的优先级,以确保系统中断的处理顺序和优先级。
3. 系统初始化函数:该文件中可能包含一些系统初始化函数,用于初始化系统的各个模块和外设。
需要注意的是,sys.h文件只是一个头文件,其中定义了一些宏和函数原型,并不包含具体的实现代码。具体的实现代码通常在其他源文件中。
相关问题
stm32f103c8t6中的sys.h头文件
在STM32F103C8T6中,sys.h头文件是系统级别的头文件,它包含了一些与系统相关的定义和函数声明。该头文件提供了对系统时钟、复位控制、中断控制以及其他一些系统级别功能的访问。
sys.h头文件中包含了以下几个重要的定义和函数声明:
1. 系统时钟配置相关:
- `void SystemInit(void)`: 初始化系统时钟,该函数会在启动时自动调用。
- `void SystemCoreClockUpdate(void)`: 更新系统核心时钟频率。
2. 复位控制相关:
- `void NVIC_SystemReset(void)`: 系统复位函数,用于软件复位系统。
3. 中断控制相关:
- `void NVIC_EnableIRQ(IRQn_Type IRQn)`: 使能指定的中断。
- `void NVIC_DisableIRQ(IRQn_Type IRQn)`: 禁用指定的中断。
- `void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)`: 设置指定中断的优先级。
4. 系统滴答定时器相关:
- `void SysTick_Config(uint32_t ticks)`: 配置系统滴答定时器,用于提供系统时基。
5. 其他系统级别功能:
- `void Delay(__IO uint32_t nTime)`: 延时函数,以毫秒为单位进行延时。
以上是sys.h头文件中的一些重要定义和函数声明。如果你有关于该头文件的更具体的问题,我可以帮你解答。
stm32f103c8T6的sys.c程序
以下是 stm32f103c8t6 的 sys.c 程序的模板代码,您可以根据自己的需求进行修改:
```c
#include "sys.h"
//时钟初始化函数
//pll:选择的倍频数,从2开始,最大值为16
void Stm32_Clock_Init(u8 pll)
{
unsigned char temp=0;
RCC->CR|=0x00010000; //外部高速时钟使能位设置
while(!(RCC->CR>>17));//等待外部时钟就绪
RCC->CFGR=0X00000400; //APB1=DIV2;APB2=DIV1;AHB=DIV1;
pll-=2;//抵消2个单位
RCC->CFGR|=pll<<18; //设置PLL值 2~16
RCC->CFGR|=1<<16; //PLLSRC ON
FLASH->ACR|=0x32; //FLASH 2个延时周期
RCC->CR|=0x01000000; //PLL ON
while(!(RCC->CR>>25));//等待PLL锁定
RCC->CFGR|=0x00000002; //PLL作为系统时钟
while(temp!=0x02)//等待PLL作为系统时钟设置成功
{
temp=RCC->CFGR>>2;
temp&=0x03;
}
}
//初始化函数
void Stm32_Init(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置NVIC中断分组2:2位抢占优先级,2位响应优先级
delay_init(72); //延时初始化,72Mhz
uart_init(72,115200); //串口波特率设置
}
```