前言

由于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等),不信可以亲自测试。

最后

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

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

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

    前言 关于DMA(Direct Memory Access)的功能,前面关注我微信的人应该知道,其实我已经在F1芯片上简单讲了一下.有网友要求在F0讲解一下使用DMA收发串口数据.今天就应网友要求总结 ...

  2. STM32F0xx_TIM基本延时配置详细过程

    前言 关于定时器大家都应该不会陌生,因为处理器都有这个功能.今天总结的F0系列芯片的定时器根据芯片型号不同,数量也不同.定时器分类:基本定时器.通用定时器和高级定时器.计数位数也有不同,有16位的,有 ...

  3. STM32F0xx_GPIO配置详细过程

    前言 对于初学STM32的人来说,很多基础的知识没有掌握,这些基础知识就成为阻挡他们入门的门槛.因此,今天也把基础的知识分享出来,带领那些还没有迈过这个门槛的人入门. 今天总结“GPIO配置详细”,以 ...

  4. UCOS2_STM32F1移植详细过程(四)

    Ⅰ.概述 上一篇文章是讲述uC/OS-II Ports下面os_cpu_a.asm.os_cpu_c.c和os_cpu.h文件底层端口代码的移植(修改)和说明,接着上一篇文章来讲述关于UCOS移植应用 ...

  5. UCOS2_STM32F1移植详细过程(二)

    Ⅰ.概述 打开上一篇文章新建的工程,是提取的ST标准库里面源代码文件和UCOS工程包源代码文件.下载过的朋友可能会知道,直接编译那个工程会有大片的错误和警告,原因在于那个工程是没有经过修改源代码的工程 ...

  6. UCOS2_STM32F1移植详细过程(一)

    Ⅰ.概述 该文写针对初学µC/OS的朋友,基于以下平台来一步一步移植µC/OS嵌入式操作系统.UCOS移植相关平台: 系统平台:µC/OS-II  (最新V2.92版) 硬件平台:STM32F1    ...

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

    Ⅰ.概述 关于数据的储存,我觉得编程的人基本上都会使用到,只是看你储存在哪里.STM32的芯片内部FLASH都是可以进行编程的,也就是说可以拿来储存数据.但是,很多做一些小应用程序开发的人都没有利用好 ...

  8. STM32F0xx_RTC实时时钟配置详细过程

    Ⅰ.概述 今天总结RTC(Real Time Clock)实时时钟相关的知识,顺带将BKP简单总结一下. STM32的RTC模块和时钟配置系统(RCC_BDCR寄存器)处于后备区域,即在系统复位或从待 ...

  9. STM32F0xx_SPI读写(Flash)配置详细过程

    Ⅰ.概述 关于SPI(Serial Peripheral Interface)串行外设接口可以说是单片机或者嵌入式软件开发人员必须掌握的一项通信方式,就是你在面试相关工作的时候都可能会问及这个问题.在 ...

随机推荐

  1. Android Studio 实用插件整理

    首先说一下安装方法: 上图片: 首先点击Android stuido 菜单 File->Settings 进入上图界面: 区域1:你当前已经安装了的插件 区域3:在线安装 区域2:其实和区域3是 ...

  2. selenium借助AutoIt识别上传文件Java篇

    官方网站:https://www.autoitscript.com/site/ 从网站上下载AutoIt并安装,安装完成在菜单中会看到图4.13的目录: 图4.13  AutoIt菜单 1.首先打开A ...

  3. 在探索中感悟,在摸索中前进--ET之快递法

    飞测说:最近很多朋友问如果没有需求文档,我该怎么测试?我自然想起了探索测试,今天来说说自己在探索测试路上的一点点感悟-------快递测试法,让我们在探索中感悟,在摸索中前进-- 快递测试法,是从ET ...

  4. 【caffe-windows】 caffe-master 之 mnist 超详细

    本教程尽量详细,大多步骤都有图,如果运行出错,请先对照自己的文件是否和图上的一样,包括标点啊,空格啊,斜杠,反斜杠啊之类的小细节. 第一步:   官网下载mnist数据 http://yann.lec ...

  5. JavaBean和内省

    JavaBean和内省 JavaBean是一个遵循特定的写法的java类     1. 必须有一个无参的构造方法     2.属性私有化     3.私有你给的属性必须通过public类型的方法暴露给 ...

  6. Tomcat安装后启动一闪而过

    出现这种问题一般是环境变量没配置好.除了JDK环境变量还有Tomcat环境变量:CATALINA_HOME 和CATALINA_BASE 虽然JDK里面会含有JRE,但是最好是在环境变量里面也配置一个 ...

  7. shell学习笔记(1):利用IFS打印用户和默认shell

    参考资料为:linux shell脚本攻略 作者sarath Lakshman 人民邮电出版社 shell:读取文件的每一行内容并输出 的写法1 目的:读取passwd文件,获得用户名和其默认的she ...

  8. JavaScript设计模式

    -->面向对象中的23种设计模式简介 最近看了一本书,推荐给大家<JavaScript设计模式与开发实践>图灵出版社的,讲的非常棒! 详细讲解了js开发中常用的14种设计模式,有很多 ...

  9. ionic ngcordova camera

    拍照是經常用到的,所以記錄一下 拍照的代碼... 1. ionic start camera blankcd camera ionic platform add ios 2. 添加插件,這裏很熟悉.. ...

  10. java 通用的返回类

    package com.eshore.pdip.mobile.phone.vo; import java.io.Serializable; import java.util.HashMap; impo ...