Keil新建工程(江协科技)
⑤
#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函数文件、配置头文件(管理外设的头文件包含关系)、中断函数文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)