栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

STM32新建标准库工程

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

STM32新建标准库工程

STM32F103ZET6创建一个自己的工程

笔者自己用的是正点原子的精英版的开发板,有很多习惯也养成跟正点原子创工程的习惯。
作者学生党一枚,写的不对的地方,请大家多多包涵,学习永无止境,闻道有先后,术业有专攻。

下载官网的标准库

由于官网下载速度慢,我会把下载好的标准库文件放到云盘里,如果自己可以的话,自己可以下载官网的标准库 https://www.st.com/content/st_com/zh/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32-standard-peripheral-libraries/stsw-stm32054.html
以上就是标准库的链接,下载好以后打开文件里面就是以下的样子

我们下载以后,可以看看结构,接下来我们就开始新建一个文件了,里面的文件可以像我这个样子,不建文件行不行,也是可以的,只不过后期管理起来有点难,不利于管理和维护。

  1. core文件夹 , 主要放启动文件和内核文件
  2. OBJ文件夹 , 主要放由KEIL编译出来的工程文件和hex文件
  3. STM32F10x_FWLib 主要放标准库里面的驱动文件和头文件
  4. SYSTEM , 这个文件夹是由正点公司自己写的,所以这个文件夹可要可不要
  5. USER 用户的KEIL的文件数据
移植文件

STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3CoreSupport—>core
STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTSTM32F10xstartuparmstartup_stm32f10x_hd.s---->core
接着移植STM32F10x_FWLib文件里面的文件
STM32F10x_StdPeriph_Lib_V3.5.0LibrariesSTM32F10x_StdPeriph_Driver------>STM32F10x_FWLib

STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTSTM32F10x----->USER

还有两个呢,在示例工程里面找到的
STM32F10x_StdPeriph_Lib_V3.5.0ProjectSTM32F10x_StdPeriph_Template---->USER

到此为止,我们移植文件夹已经弄完。

KEIL创建工程

打开KEIL软件,新建一个新工程,如果没有STM32F1的芯片支持包,待会儿标准库一起放到云盘里,新建好工程以后,我们有一个OBJ文件专门放这些东西,配置如下图,

接着点击如图的地方

创建相对应的文件夹,我们再把相对应的文件添加进去,相关文件添加进去就是这个样子,
我们把C语言的宏定义,填写成这样STM32F10X_HD,USE_STDPERIPH_DRIVER,顺便把我们的C语言的头文件路径添加进去


最后自己创建一个main.c文件添加到USER

添加示例代码
#include "stm32f10x.h"

 void Delay(u32 count)
 {
   u32 i=0;
   for(;iPB.5 端口配置
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 	 //推挽输出
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;	 //IO口速度为50MHz
  GPIO_Init(GPIOB, &GPIO_InitStructure);			     //初始化GPIOB.5
  GPIO_SetBits(GPIOB,GPIO_Pin_5);					//PB.5 输出高
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;	            //LED1-->PE.5推挽输出
  GPIO_Init(GPIOE, &GPIO_InitStructure);	  	       //初始化GPIO
  GPIO_SetBits(GPIOE,GPIO_Pin_5); 			 //PE.5 输出高 	  
  while(1)
	{
	  GPIO_ResetBits(GPIOB,GPIO_Pin_5);
	  GPIO_SetBits(GPIOE,GPIO_Pin_5);
		Delay(3000000);
		GPIO_SetBits(GPIOB,GPIO_Pin_5);
		GPIO_ResetBits(GPIOE,GPIO_Pin_5);
		Delay(3000000);
	}
 }

最后放一下在开发板点亮的图片

文件链接链接:https://pan.baidu.com/s/1VyZ7ZaXfrqqo4i-2HR4soA
提取码:b05r

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/330207.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号