学习目标是从头开始创建STM32 Keil项目,以点亮板上的LED项目。创建并下载固件库。要下载的固件库版本为STM32F10x_StdPeriph_Lib_V3.5.0:官方网站:https://www.st.com/en/ Embedded-software / stsw-stm32054.html国内守时原子提供的镜像:http:// opensv.com/posts/list/6054.htm解压缩后,如下图所示:其中,stm32f10x_stdperiph_lib_um.chm是该库的帮助文件。创建STM32项目打开MDK5并创建New uVision Project。将项目文件保存在预先创建的目录中:因为我使用的是Punctual Atom开发板,所以习惯于将项目文件放在子目录USER下并选择所使用的芯片型号。我的电路板使用STM32F103RTC6,因此这里是Select STMicroelectronics-& gt; STM32F1系列-> STM32F103-> STM32F103RCT6注意:请确保安装相应的设备包,本教程使用Keil.STM32F1xx_DFP.1.0.5.pack安装包。单击项目配置后,将显示“管理运行时环境”对话框,只需单击“取消”即可获得以下界面:添加和删除无用的文件删除在下面的框中选择的“列表和对象”文件夹,并在“模板”下创建三个新文件夹。文件夹文件夹CORE,OBJ和STM32F10x_FWLib。其中:CORE用于存储核心文件和启动文件; OBJ用于存储编译过程文件和十六进制文件; STM32F10x_FWLib文件夹用于存储ST提供的库函数源文件。 USER目录用于存储项目文件。存储main.c和system_stm32f10x.c等文件。复制先前准备的固件库:STM32F10x_StdPeriph_Lib_V3.5.0LibrariesSTM32F10x_StdPeriph_Driver目录,将目录下的src,inc文件夹复制到我们刚刚创建的STM32F10x_FWLib文件夹中。将固件库包中的相关启动文件复制到我们的项目目录CORE中。导航到目录STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3CoreSupport,将文件core_cm3.c和文件core_cm3.h复制到CORE。在STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTSTM32F10xstartuparm下,将startup_stm32f10x_hd.s文件复制到CORE中。导航到以下目录:STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTSTM32F10x在下面,将三个文件stm32f10x.h,system_stm32f10x.c和system_stm32f10x.h复制到我们的USER目录。复制USER目录下STM32F10x_StdPeriph_Lib_V3.5.0ProjectSTM32F10x_StdPeriph_Template下的4个文件main.c,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.h。将上一步中添加的文件添加到我们的项目目录中。添加完成后,项目目录结构如下:设置编译的中间文件,存储编译文件的目录,设置头文件所在的目录以及配置项目所需的宏定义:STM32F10X_HD ,USE_STDPERIPH_DRIVER设置编译的输出文件格式。 c文件,编写一个简单的测试代码,然后进行编译。在这里,我们使用PC7引脚来控制LED定期打开和关闭。完整的代码如下:#include“ stm32f10x.h” void Delay(u32 count){u32 i = 0; for(; i& lt; count; i ++);} int main(void){GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph)_GPIOC,使能GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; //LED1-->PC.7端口配置GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // IO端口速度为50MHz GPIO_Init; GPIOC,Samptructure; //根据设置的参数初始化GPIOA。 8个GPIO_SetBits(GPIOC,GPIO_Pin_7); //PC.7输出高电平while(1){GPIO_ResetBits(GPIOC,GPIO_Pin_7);延迟(3000000); GPIO_SetBits(GPIOC,GPIO_Pin_7);延迟(3000000); }}下载程序以安装JLINK驱动程序Setup_JLink_V512.exe来配置软件下载模式。下载程序。程序下载完成后,再次打开开发板上的电源,发现连接到PC7的LED指示灯持续闪烁。至此,整个STM32项目已创建。参考资料:[准时原子] MiniSTM32开发板信息如果您喜欢,请关注微信公众号:程序员Xiaoha,有您要播放的模块,给我留言,让我们玩