开发板:正点原子STM32F4探索者   (2019-08-10 22:04:39)

开发环境:MDK5.28.0.0 + STM32CubeMX5.3.0 + STM32CubeF4 V1.24.0

内容:使用STM32Cube配置LED0和UART1,实现LED0闪烁和UART1发送

  STM32CubeMX选择芯片后界面。左侧栏为功能列表,配置相应的功能打开列表,会有详细功能名称;右侧为ST芯片模型,引脚分布。首先,应该配置芯片的时钟来源——芯片的时钟很重要,根据硬件实际配置时钟来源:打开 System Core 栏目下的RCC,即为芯片时钟配置。

  RCC 配置界面。以外部时钟为例,STM32CubeMX中外部时钟配置可选类型为 Disable 、 BYPASS Clock Source(旁路时钟源) 、Crystal/Ceramic Resonator(石英/陶瓷 晶振) 三种类型。参考手册中介绍 HSE 如下图:

  外部时钟即为旁路时钟源,只需要外部提供时钟接入OSC_IN引脚,OSC_OUT引脚悬空,对应选择为BYPASS Clock Source;谐振器即相当于石英/陶瓷 晶振,OSC_IN 与 OSC_OUT引脚都要连接,对应选择为Crystal/Ceramic Resonator。开发板使用的是晶振,所以RCC的HSE选项设置为Crystal/Ceramic Resonator。时钟的来源确定后需要配置芯片内部的多个时钟线,进入Clock Configuration页面,可以根据时钟树直观地配置时钟。下图所示为开发板时钟配置,开启外部时钟8MHz,PLL时钟来源于HSE,经过锁相环的分频与倍频后得到168MHz时钟,System Clock Mux时钟来源选择PLLCLK,AHB分频器设置1分频(不分频),得到168MHz的主频时钟,HCLK = 168MHz。

  时钟配置完成以后,可以在 Connectivity 栏开启UART功能,USART1可以开启的模式有Asynchronous——异步通讯、synchronous——同步通讯、Single Wire(Half-Duplex)——单线(半双工)通讯,此处配置为异步通讯。

 

  此外,这些功能也可以通过右侧的ST芯片模型直接在管脚设置。这种设置方法只需要我们单击对应的管脚,就会列出该管脚对应的功能,点击选择即可。从左侧列表开启功能时会默认选择一组引脚,如果与实际工程的引脚不符合可以采用先设置引脚功能再从左侧开启功能。如果需要启用仿真,还要配置相应的引脚并开启对应功能,否则使用仿真器会发生出现问题。

  整体功能开启完毕后,可以从NVIC统一设置中断开启和优先级配置;在DMA栏统一设置相应数据流;GPIO栏可以设置启用的所有I/O接口,还可以自己定义这个引脚的名字(User Lable);另外生成的函数会根据CubeMx的参数进行配置,所以在功能栏里设置对应功能的参数(parameter)。

  功能配置完成无误后,就可以生成代码了。点击进入Project Manager界面,点击Project,在 Project Setting 框里设置Project Name、Project Location,Toolchain/IDE选项为设置生成工程的IDE类型,常用的是MDK-ARM V5(KEIL)和 EWARM V7(IAR)两种。设置完成后点击GENERATE CODE 即可生成工程代码。

STM32Cube基础工程配置的更多相关文章

  1. 细聊 Cocoapods 与 Xcode 工程配置

    前言 文章比较长,所以在文章的开头我打算简单介绍一下这篇文章将要讲述的内容,读者可以选择通篇细度,也可以直接找到自己感兴趣的部分. 既然是谈 Cocoapods,那首先要搞明白它出现的背景.有经验的开 ...

  2. net core Webapi基础工程搭建(六)——数据库操作_Part 2

    目录 前言 开始 使用 小结 前言 昨天是写着写着发现,时间不早了,已经养成了晚上下班抽时间看看能写点儿啥的习惯(貌似),今天实在是不想让昨天没做完的事情影响,所以又坐下,沉下心(周末了),开始把数据 ...

  3. net core Webapi基础工程搭建(二)——创建工程

    目录 前言 创建工程 工程文件概述(个人理解) 运行 小结 前言 前面介绍了开发工具及net core版本,后端工程的框架结构开发工具及环境,因为是基础工程,所以没考虑太复杂的框架,如果有架构师请勿喷 ...

  4. Git 实用基础(配置,建库,提交,推送 GitHub)

    Git 实用基础(配置,建库,提交,推送 GitHub) SVN ? Git ? 目前市面上主流的版本控制系统就是 SVN 和 Git . 两者的区别简单通俗地说就是,版本数据是否有在本地. 如果觉得 ...

  5. UE4之Slate:纯C++工程配置

    概述: Slate是UE4提供的UI框架,整个UE4 Editor UI都是使用Slate构建的: Slate的官方文档:[Slate UI框架] Slate底层内容,中文环境下能搜索到的有效资源也不 ...

  6. 【No.1 Ionic】基础环境配置

    Node 安装 git clone https://github.com/nodejs/node cd node ./configure make sudo make install node -v ...

  7. ios 工程配置统一增加类的前缀(知识点也只能算知识点)

    在前边的代码规范中提及:团队开发或者个人开发为了打包或者自己工程中避免创建新的类核第三方系统的重复增加类的统一前缀!!又很多人问我这种开发小技巧.下面我就普及一下: 1.首先选中你的工程配置 2.然后 ...

  8. pcl1.7.2_vs2013_x64工程配置

    pcl1.7.2_vs2013_x64工程配置 C:\Program Files\PCL 1.7.2\include\pcl-1.7;C:\Program Files\PCL 1.7.2\3rdPar ...

  9. vs如何将工程配置,保存到属性表

    上次讲到新建一个opencv工程的配置过程,整个流程下来还是非常麻烦的.每次新建一个工程都要走这个流程的话就要疯了! 现在介绍一种将工程配置,保存到属性表的方法,那么下次新建工程时,只要添加这个属性表 ...

随机推荐

  1. c# 读取数据库得到dateset

    public DataSet GetCraftInformation(string connectionString, string opName, string productType)       ...

  2. 实验吧简单的sql注入3

    今天早上起来发现有人评论说我没更新实验吧sql注入3,主要是因为前段时间都去做bugku去了 但是重做这道题发现以前的姿势不行了,exp()报错不再溢出,现在不能用这个姿势,所以这里重新整理了一遍思路 ...

  3. 将积累多年的java学习资料,pdf文档给大家分享一下,比如《大话设计模式》《算法》《Linux私房菜》等等

    话不多说,资料目录如下,需要的拿走,下载的同时别忘了点下推荐. 需要的点下面链接,到小编网盘进行下载: 2-大话设计模式.pdf 链接:https://pan.baidu.com/s/1b05puNO ...

  4. VS2015秘钥激活

    点击软件菜单栏的"帮助",点击"注册产品",点击"使用产品密钥解锁",附送产品密钥: 专业版:HMGNV-WCYXV-X7G9W-YCX63 ...

  5. nginx实现反向代理 配置多域名以及多端口号

    多个服务部署在同一个服务器,使用不同的端口. 一.思考过程 如果不想带上端口号,就只能访问 80 或 443 端口. 可以用过二级目录区分服务,通过反向代理转发到不同的 Server. 可以用过子域名 ...

  6. docker部署zabbix

    我相信大家都已经会再物理机上跑zabbix并且监控了,那么有没有想过在docker中跑zabbix?下面咱们来看看如何在docker中搭建zabbix并且监控 部署环境 2台物理机机器: zabbix ...

  7. Linux学习之路-基础入门 20191104

    1.计算机组成 2.开发接口标准 ABI--(Application Binary Interface) ABI描述了应用程序与OS之间的底层接口,允许编译好的目标代码在使用兼容ABI的系统中无需改动 ...

  8. ChengDu University Mental Health Test 需求分析文档

    ChengDu University Mental Health Website 需求分析文档 V4.0 编制人:刘雷,黄凯 日期:2019/4/28 版本修订历史记录: 版本 日期 修改内容 作者 ...

  9. Collaborative Spatioitemporal Feature Learning for Video Action Recognition

    Collaborative Spatioitemporal Feature Learning for Video Action Recognition 摘要 时空特征提取在视频动作识别中是一个非常重要 ...

  10. Leetcode79 Word Search

    题目描述 Given a 2D board and a word, find if the word exists in the grid. The word can be constructed f ...