0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

创建STM32工程模板

汽车电子技术 来源:玩转单片机 作者: Julian 2023-02-10 14:38 次阅读

1、创建一个工程文件夹,并且在文件夹里创建三个文件夹并分别以CORE、STM32F10X_LIB、USER命名。

2、将STM32F10x_StdPeriph_Lib_V3.5.0里跟内核相关的几个文件(core_cm3.c/core_cm3.h、startup_stm32f10x_hd.s、stm32f10x.h、system_stm32f10x.c/system_stm32f10x.h)拷贝到CORE文件目录里,几个文件路径如下图所示。


poYBAGPl5jyAPdx-AAB-KPGgqZ8030.png

poYBAGPl5jGAbUGDAAF1r0xBXFQ716.png


pYYBAGPl5iWAS269AAD5DN_04PE390.png

3、将STM32F10x_StdPeriph_Lib_V3.5.0里的库函数文件拷贝到STM32F10X_LIB文件夹里,文件夹路径如图所示。

poYBAGPl5heAcpvBAAA5C-ATzC0237.png

4、核对复制文件

poYBAGPl5guAFZqUAAECgFnZt38612.png

pYYBAGPl5gCAHPqxAABv-_pYwXs700.png

5、打开keil_MDK软件,依次点击菜单栏里的Project->New uVision Project,命名工程名称,这里的工程名称为“MDK_TEMP”并保存在前面新建的文件夹USER里,如图所示。


pYYBAGPl5fKADH0FAAEi0h5_5UU223.png


6、选择芯片型号,由于我们是基于F1系列产品的STM32F103ZE进行创建工程,所以我们选择STMicroelectronics->STM32F1 Series->STM32F103->STM32F103ZE如图所示。

poYBAGPl5eaACnH6AAKWTo2QRj8482.png

poYBAGPl5dqACtdxAAFAzVlyNBk653.png

7、往工程添加分组,这里主要三个分组,分别为USER、CORE、LIB,并往CORE添加core_cm3.c、startup_stm32f10x_hd.s、system_stm32f10x.c等与内核相关文件,往LIB添加STM32F10X_LIBsrc里的库文件,具体步骤如图所示。

pYYBAGPl5cyAJGC7AADhPzyiR7Y410.png

poYBAGPl5byAasX_AAD368GAe6w662.png

poYBAGPl5bCAV76PAADQXHGLzqc193.png

poYBAGPl5aaAJscIAAEGTJp9Cyo902.png

pYYBAGPl5ZiAR0S5AAGPQP_-aqs157.png

8、添加宏定义及头文件路径,具体步骤见图

"USE_STDPERIPH_DRIVER,STM32F10X_HD"


pYYBAGPl5Y2ABw3aAAGTYoN03WI240.png


poYBAGPl5YCAFiGdAAFXXFIFeeo672.png


poYBAGPl5XWARDSeAABhmZoY7nU624.png


pYYBAGPl5WqAa4fKAAF0R146F0Y238.png


9、创建一个main.c文件,里面可以很简单的创建一个main函数并将该文件保存在USER目录下,并添加进USER组里分别如图所示


pYYBAGPl5V2AdFFrAAFwfPkcaR0371.png


pYYBAGPl5VKASKFIAAEFD2k-jgo455.png


10、简单编写main.c,开始编译,编译结果如图所示,从编译结果看有报错


poYBAGPl5UaAO_C_AAIDLhIsOgA102.png


11、添加文件,把需要的文件添加到USER文件夹下

pYYBAGPl5TmAPlUrAAFi84K9Weo225.png


pYYBAGPl5S6ACCfEAAEAbeyzg_E713.png


12,重新编译,没有问题,创建完成

poYBAGPl5R6AGzcEAAOZOaqFzVk528.png


13、点亮LED,下列代码写入main.c文件中,具体请根据开发板脚位

#include "stm32f10x.h"

void LED_Init(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;//定义结构体变量
  
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
  
  GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;  //选择你要设置的IO口
  GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;   //设置推挽输出模式
  GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;    //设置传输速率
  GPIO_Init(GPIOC,&GPIO_InitStructure);      /* 初始化GPIO */
  
  GPIO_SetBits(GPIOC,GPIO_Pin_0);   //将LED端口拉高,熄灭所有LED
}

int main(void)
{
  LED_Init();
  while(1)
  {
    GPIO_ResetBits(GPIOC,GPIO_Pin_0);//点亮
  }
}


14、下载验证可以驱动LED

poYBAGPl5P-ARy5rABM5-YuJfHo565.png
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Core
    +关注

    关注

    0

    文章

    173

    浏览量

    42558
  • STM32F10x
    +关注

    关注

    1

    文章

    81

    浏览量

    20576
  • User
    +关注

    关注

    1

    文章

    27

    浏览量

    10717
收藏 人收藏

    评论

    相关推荐

    怎样搭建环境与CCS6创建工程模板

    环境3 CCS6创建工程模板4 结语  鄙人之前学习过STM32,现在学习DSP的永磁同步电机矢量控制。同样是单片机,DSP显然比STM32“高级”很多。性能提高不少的同时,DSP使用
    发表于 08-06 08:28

    如何创建STM32Keil工程模板

    STM32F103基于库函数的工程模板创建一、Keil软件安装1、下载keil(MDK版)2、安装支持包3、下载对应固件库文件二、工程
    发表于 12-08 07:11

    工程模板创建步骤

    工程模板创建步骤1、创建步骤2、一些问题ARM编译器不能编译1、创建步骤关于工程
    发表于 01-12 07:32

    利用STM32创建工程模板的方法

    STM32学习1:创建工程模板1,建立工程文件夹2,Keil新建工程3,Keil工程配置4,收尾
    发表于 02-14 06:54

    STM32CubeMX创建工程模板的方法

    STM32CubeMX是ST意法半导体推出的STM32系列芯片图形可视化配置工具,用户可以通过图形化向导为Cortex-M系列MCU生成初始化代码工程模板。相较于Keil
    发表于 02-14 06:05

    STM32工程模板

    STM32工程模板源代码,有需要的下来看看
    发表于 05-20 16:29 54次下载

    stm32F103工程模板无错误

    stm32F103工程模板无错误
    发表于 03-14 10:39 40次下载

    详解如何创建一个STM32工程

    本文档详解如何创建一个STM32工程,供参考
    发表于 03-30 11:46 31次下载

    华大HC32-(01)-创建工程模板

    华大HC32-(01)-创建工程模板
    发表于 11-24 12:51 2次下载
    华大HC32-(01)-<b class='flag-5'>创建工程</b><b class='flag-5'>模板</b>

    STM32Keil工程模板创建(详细配图)

    STM32Keil工程模板创建(详细配图)
    发表于 11-25 11:06 11次下载
    <b class='flag-5'>STM32</b>Keil<b class='flag-5'>工程</b><b class='flag-5'>模板</b><b class='flag-5'>创建</b>(详细配图)

    DSP 基础学习 1:搭建环境与CCS6创建工程模板

    环境3 CCS6创建工程模板4 结语  鄙人之前学习过STM32,现在学习DSP的永磁同步电机矢量控制。同样是单片机,DSP显然比STM32“高级”很多。性能提高不少的同时,DSP使用
    发表于 11-26 10:36 17次下载
    DSP 基础学习 1:搭建环境与CCS6<b class='flag-5'>创建工程</b><b class='flag-5'>模板</b>

    STM32学习1:创建工程模板

    STM32学习1:创建工程模板1,建立工程文件夹2,Keil新建工程3,Keil工程配置4,收尾
    发表于 12-08 19:06 3次下载
    <b class='flag-5'>STM32</b>学习1:<b class='flag-5'>创建工程</b><b class='flag-5'>模板</b>

    STM32CubeMX 创建工程模板

    STM32CubeMX 创建工程模板
    发表于 12-08 20:06 20次下载
    <b class='flag-5'>STM32</b>CubeMX <b class='flag-5'>创建工程</b><b class='flag-5'>模板</b>

    如何建一个STM32F030工程模板(标准库版)

    如何建一个STM32F030工程模板(标准库版)
    发表于 12-08 20:21 0次下载
    如何建一个<b class='flag-5'>STM32</b>F030<b class='flag-5'>工程</b><b class='flag-5'>模板</b>(标准库版)

    STM32F4系列标准库工程模板文件结构分析及标准工程模板分享

    STM32F4系列标准库工程模板文件结构分析及标准工程模板分享
    发表于 12-09 13:51 26次下载
    <b class='flag-5'>STM32</b>F4系列标准库<b class='flag-5'>工程</b><b class='flag-5'>模板</b>文件结构分析及标准<b class='flag-5'>工程</b><b class='flag-5'>模板</b>分享