STM32F0_新建软件工程详细过程

前言

由于ST公司推出比STM32F1性价比更高的F0芯片,现在市面上F0芯片的占有率也非常高。F0芯片属于M0内核,主频48M(当然,可以超频的,但尽量不要超的太多),资源大小可根据项目需求来选型。因此,最近几天总结一下关于STM32F0开发相关的知识。

该文章主要以STM32F0、MDK-ARM来讲解“新建软件工程详细过程”。关于MDK-ARM的下载与安装请看我的另一篇文章“MDK-ARM下载与安装”,里面详细讲述的下载和安装的过程。ST芯片有很好的兼容性(软件和硬件),同一个软件工程或许适用于多个不同芯片,硬件也是一样。

关于新建工程其实还有一种ST官方的方法,就是使用ST官方的工具“STM32CubeMX”,这个工具从几年前很简单的一个工具慢慢变的功能强大,可以生成很好的初始化代码。但是,STM32CubeMX生成的软件工程相对初学者来说有点复杂,比如:工程结构、函数、变量命名等,个人觉得不是很适合初学者使用(但代码很有参考价值),如果你觉得你掌握了STM32CubeMX的开发,而且喜欢使用STM32CubeMX的话,该文章可以略过。

本着免费分享的原则,还望看到的朋友关注一下微信公众号,并将文章分享给你的朋友。关注微信公众号“EmbeddDeveloper”还有更多精彩内容等着你。

 

下载ST标准外设库

ST标准外设库对于开发ST芯片的人来说是一个很好的库,原因很简单,节约了你开发的时间,不用对着众多的寄存器而感到困惑。

STM32F0的标准外设库现在(2016.05.25)最新版本是1.5.0,你可以在ST官网下载(现在需要注册账号才能下载),也可以到我360云盘下载。

官网地址:

https://my.st.com/content/my_st_com/zh/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32-standard-peripheral-libraries/stsw-stm32048.html

360云盘:https://yunpan.cn/cSkY5U58mFaKC  访问密码 44ee

新建工程过程

我们将软件工程命名为“STM32F0xx_ProjectTemplate”提取F0标准外设库有用文件到工程下面,新建需要的文件及文件夹等,这里不描述怎么提取,请下载最后提供的软件工程源代码,里面有提取好的文件。

新建一个基础的软件工程只需要简单几步操作就行了。大概如下:选择工程目录 -> 选择芯片型号 -> 配置工程结构 -> 配置选项(主要包含路径、下载等参数)。

打开MDK-ARM软件,正式进入新建过程,步骤如下图:

至此,该工程就可以编译下载了。

下载

今天提供下载的“软件工程源代码”是在硬件板子上进行多次测试、并保证没问题才上传至360云盘。

今天的软件工程下载地址(360云盘):

https://yunpan.cn/cS2PwhWxn4VSR  访问密码 8f72

STM32F0xx的资料可以在我360云盘下载:

https://yunpan.cn/cS2PVuHn6X2Bj  访问密码 8c37

说明

STM32F0的芯片软件兼容性很好,比如今天提供的工程是STM32F051R8,但它还适用于F0的很多芯片(比如:F051C8、F030R8等),不信可以亲自测试。

最后

如果你喜欢我分享的内容,你又想了解更多相关内容,请关注文章开头的微信公众号,新内容持续更新中,后期将会有更多精彩内容出现。

时间: 2024-10-11 06:51:38

STM32F0_新建软件工程详细过程的相关文章

IAR for STM8系列教程(一)_新建软件工程详细过程

Ⅰ.写在前面 本文使用目前(2017年04月)最新版本的IAR for STM8(EWSTM8)V2.20开发环境.STM8S103的处理器及最新版本STM8S标准外设库(STM8S_StdPeriph_Lib_V2.2.0)为例给大家讲述新建一个软件工程的详细过程. 本文分如下几个章节来讲述: 1.准备工作 ? 下载安装EWSTM8 ? 下载STM8标准外设库 ? 整理工程文件夹 2.新建软件工程 ? 创建工程 ? 添加文件 ? 配置工程 为了方便大家阅读,本文内容已整理成PDF文件,供大家下

STM32F0xx_DMA收发USART数据配置详细过程

前言 关于DMA(Direct Memory Access)的功能,前面关注我微信的人应该知道,其实我已经在F1芯片上简单讲了一下.有网友要求在F0讲解一下使用DMA收发串口数据.今天就应网友要求总结一下在F0芯片上,使用DMA方式传输(收发)USART数据的功能. 在多种芯片上(F0.F1.F2.F3.F4)了解过DMA模块功能的朋友可能会发现一个特点,就是DMA的功能有很多相似的地方,甚至是一样.其实,每一个模块在不同系列芯片(甚至不同厂商)基本上是大同小异,这就是所谓的触类旁通.对于软件开

STM32F0xx_GPIO配置详细过程

前言 对于初学STM32的人来说,很多基础的知识没有掌握,这些基础知识就成为阻挡他们入门的门槛.因此,今天也把基础的知识分享出来,带领那些还没有迈过这个门槛的人入门. 今天总结“GPIO配置详细”,以F0标准外设库初始化结构体来重点讲解.接着昨天“新建软件工程详细过程”来进行讲解,今天分两大部分内容总结.工程描述.IO配置源代码详细讲解. 本着免费分享的原则,如果你觉得分享内容对你有用,请关注微信公众号“EmbeddDeveloper”还有更多精彩内容等着你.   下载 ST标准外设库和参考手册

UCOS2_STM32F1移植详细过程(二)

Ⅰ.概述 打开上一篇文章新建的工程,是提取的ST标准库里面源代码文件和UCOS工程包源代码文件.下载过的朋友可能会知道,直接编译那个工程会有大片的错误和警告,原因在于那个工程是没有经过修改源代码的工程,接下来就是讲述一步一步修改源代码的过程(也就是所谓的移植过程). 该文接着上一篇文章来讲述“UCOS移植详细过程”,上一篇文章是讲述准备工作.文件提取并整理.新建UCOS工程等工作.该文讲述UCOS移植过程中修改源代码(底层代码.系统配置等)工作. 笔者将“UCOS移植详细过程”分为多篇文章来讲述

UCOS2_STM32F1移植详细过程(一)

Ⅰ.概述 该文写针对初学µC/OS的朋友,基于以下平台来一步一步移植µC/OS嵌入式操作系统.UCOS移植相关平台: 系统平台:µC/OS-II  (最新V2.92版) 硬件平台:STM32F1   (适合F1所以系列) 开发平台:Keil(MDK-ARM) V5 1.为什么是µC/OS-II? 原因在于µC/OS-II是一个比较成熟.稳定的系统,与µC/OS-III比较有些机制相对简单很多.当你掌握了µC/OS-II,µC/OS-III很容易就理解了. 2.为什么是STM32F1? 硬件平台是

STM32F0xx_TIM输入捕获(计算频率)配置详细过程

前言 关于STM32的定时器,可谓是功能强大,估计没有多少人研究完STM32定时器的所有功能(包括我也没有),只是使用常用的一些功能,后续我会推出关于STM32定时器的更多功能. STM32芯片多数为16位计数,但基本上都有1个或两个32位的定时器,可惜的是我们最常使用的F1系列芯片中没有32位的定时器,F030中也没有,具体请看数据手册. 今天主要总结关于STM32F0系列输入捕获,捕获信号频率,即所谓逻辑分析仪检测数字频率的功能. 今天使用32位的TIM2作为捕获的定时器,为什么是32位,原

STM32F0xx_FLASH编程(片内)配置详细过程

Ⅰ.概述 关于数据的储存,我觉得编程的人基本上都会使用到,只是看你储存在哪里.STM32的芯片内部FLASH都是可以进行编程的,也就是说可以拿来储存数据.但是,很多做一些小应用程序开发的人都没有利用好这个功能,而是单独外接一个EEPROM或者FLASH,我觉得有些情况下(小数据.不常改动)这是对资源的一种极大浪费. 关于使用内部FLASH进行编程,网上也有很多人这么说:1.内部FLASH的读写次数有限:2.内部FLASH会破坏程序.这些说法确实存在一定道理,对于次数,10W次,我想这个次数除非你

STM32F0xx_DAC输出电压配置详细过程

前言 数模转换DAC的功能在现实应用中所占的分量,相对定时器TIM.串口USART等要小的多,这也是ST为什么内部集成DAC模块相对来说不是那么多的原因.但在有需要使用数模转换功能的项目中,自带的这个DAC模块基本上可以取代外挂一片DAC芯片,因为自带的这个模块功能也很强大,只需要简单的配置一下就可以输出指定的电压信号(如:PWM波形.三角波.正选波),中途无需要软件干预.当然,今天提供的软件工程只有输出电压的基本操作,没有输出特殊的波形.但是,当你了解输出电压的原理之后,以后你想输出这些特殊的

STM32F0xx_RTC实时时钟配置详细过程

Ⅰ.概述 今天总结RTC(Real Time Clock)实时时钟相关的知识,顺带将BKP简单总结一下. STM32的RTC模块和时钟配置系统(RCC_BDCR寄存器)处于后备区域,即在系统复位或从待机模式唤醒后, RTC的设置和时间维持不变. STM32F0的RTC模块和F1的RTC模块最大区别在于F0模块中有“DATE”和“TIME”寄存器,也就是可以直接读取寄存器里面的值,而F1是秒计数寄存器的值,需要通过相关算法下才能得到时间的值. 本文提供的软件工程里面还包含一个BKP模块,主要是用于