⑤
#include "stm32f10x.h" // Device header
int main(void)
{
RCC->APB2ENR = 0x00000010; //APB2ENR寄存器的IOPCEN位被置1,使能GPIOC的时钟
GPIOC->CRH = 0x00300000; // 端口配置高寄存器GPIOC->CRH,CNF和MODE配置为00和11
GPIOC->ODR = 0x00002000; // 端口输出数据寄存器GPIOC->ODR,ODR13写1高电平,写1低电平
while(1)
{
}
}
(1) 新建Library文件夹存放内核和外设的标准库函数文件,Keil中添加组Library,添加文件
(2) User文件夹添加stm32f10x_conf.h文件,用于配置库函数头文件的包含关系
main.c中包含stm32f10x.h, stm32f10x.h文件包含stm32f10x_conf.h, stm32f10x_conf.h文件包含外设库函数头文件
#ifdef USE_STDPERIPH_DRIVER
#include "stm32f10x_conf.h"
#endif
(3) User文件夹添加stm32f10x_it.c、stm32f10x_it.h文件,用于存放中断函数
#include "stm32f10x.h" // Device header
int main(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE); // 配置GPIOC的外设时钟
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // 引脚:模式通用推挽输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; // 要初始化的引脚:13号引脚
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // 输出速度
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_SetBits(GPIOC, GPIO_Pin_13);
GPIO_ResetBits(GPIOC, GPIO_Pin_13);
while(1)
{
}
}

1、Start文件夹 中存放 启动文件、内核寄存器描述文件、外设寄存器描述文件、系统配置文件

2、System文件夹 中存放 延时函数文件等

3、Library文件夹 中存放 标准库函数文件

4、Hardware文件夹 中存放 用户外设功能文件

5、User文件夹 中存放 main函数文件、配置头文件(管理外设的头文件包含关系)、中断函数文件

Keil新建工程

浙公网安备 33010602011771号