4 STM32CubeMX软件的基础使用_第1页
4 STM32CubeMX软件的基础使用_第2页
4 STM32CubeMX软件的基础使用_第3页
4 STM32CubeMX软件的基础使用_第4页
4 STM32CubeMX软件的基础使用_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主讲人:靳光明1.8 STM32CubeMX软件的使用HAL库的基本特点利用MDK软件编写应用程序本节内容STM32CubeMX软件的使用步骤了解HAL库的基本特点熟练掌握MDK软件的程序编写和程序下载方法熟练掌握STM32CubeMX软件的使用流程教学目标1.8.1 HAL库的基本特点主讲人:靳光明学“卓越”辅导员培养工程建设--

南昌大HAL库MCU固件包STM32微控制器各个产品系列都有独立的MCU固件包例程中间件HAL库HAL库属于MCU固件包的一部分HAL库路径HAL库查找HAL库存放路径的方法:① 启动CubeMX软件② Help->Updater

Settings默认HAL库路径MCU固件包HAL库STM32Cube_FW_F4_1.24.2DocumentsDriversMiddlewareProjectsUtilitiesMCU固件包文件结构关于MCU固件包和HAL库使用的官方文档各类支撑文件,如字体文件和图形应用例程中使用的图片文件等MCU固件包HAL库CMSISSTM32F4xx_HAL_DriverBSP由ARM公司提供的Cortex微控制器软件接口标准,包括Cortex内核寄存器定义、启动文件等Drivers文件夹基于HAL库开发的官方开发板的板级支持包,提供指示灯、按键等外围电路的驱动程序STM32微控制器片内外设的HAL库驱动文件stm32f4xx_hal_ppp.hstm32f4xx_hal_ppp.cDrivers核心内容MiddlewaresSTSTemWinSTM32_AudioSTM32_USB_Device_LibrarySTM32_USB_Host_LibraryThird

PartyFatFSFreeRTOSLibJPEGLwIPPolarSSLMCU固件包HAL库Middlewares文件夹ProjectsSTM32Fx-DiscoveryTemplatesExamplesApplicationsDemonstations三类官方开发板MCU固件包HAL库Projects文件夹各集成开发环境的工程模板针对MCU片内外设的简单例程,如GPIO、UART等针对单个中间件的应用例程针对多个中间件的综合应用例程--

南昌大学“卓越”辅导员培养工程建设三种库比较ST免费提供可移植性存储空间占用执行效率易用性完备性硬件覆盖范围标准外设库++++++++++++STM32CubeHAL++++++++++++++LL++++++++++++HAL库标准库、HAL库和LL库的对比--

南昌大学“卓越”辅导员培养工程建设官方文档UM1718:STM32CubeMX软件使用参考手册UM1725:STM32Cube

硬件抽象层驱动使用参考手册HAL库1.8.2 STM32CubeMX使用步骤主讲人:靳光明--

南昌大学“卓越”辅导员培养工程建设243图形化方式配置时钟、片内外设,自动生成初始化代码1自动生成工程框架,支持MDK、EWARM等多种开发环境集成MCU

Finder功能,便于用户进行芯片选型提高开发效率,聚焦业务层的设计基本特点STM32CubeMX--

南昌大学“卓越”辅导员培养工程建设STM32CubeMX使用步骤1.

目标选择2.

引脚分配3.

外设配置4.

时钟配置5.

工程配置6.

程序编写在STM32CubeMX中完成在对应的IDE中完成演示例程1例程目标掌握STM32CubeMX软件使用步骤2例程内容控制Nucleo开发板上的用户指示灯LED2每隔1s闪烁演示例程:驱动指示灯STM32CubeMX建议STM32CubeMX建议用户在桌面上新建一个名为CubeMX的文件夹,用于存放本课程的例程代码。对于STM32微控制器的外设学习,可以再建立子文件夹:按照外设名建立,如GPIO、EXTI、TIMER、UART等。注意:CubeMX建立的工程必须在英文路径下。1 目标选择菜单栏已存在工程新建工程软件管理1234安装/卸载固件包检查软件更新交叉选型基于芯片选择基于芯片方式新建工程启动界面基于开发板标签页切换筛选器123芯片文档4芯片/开发板列表框芯片/开发板选择界面12双击STM32CubeMX目标选择输入芯片型号2 引脚分配STM32CubeMX配置主界面导航栏功能标签页生成代码123引脚分配及外设和中间件配置系统时钟设置工程设置系统功耗估算配置主界面完成CubeMX软件的所有配置操作STM32CubeMX配置主界面导航栏功能标签页生成代码123引脚分配及外设和中间件配置系统时钟设置工程设置系统功耗估算配置主界面完成CubeMX软件的所有配置操作类别栏用于外设及中间件配置21放大/缩小/旋转引脚图芯片引脚图用于引脚分配STM32CubeMX查找引脚12在对应引脚搜索框输入要分配的引脚名对应引脚将会闪烁STM32CubeMX选择引脚功能12单击PA5Nucleo开发板上利用PA5引脚作为通用I/O控制指示灯LED23 外设配置① System

Core:用于配置GPIO、时钟源、中断系统以及系统相关的外设② Analog:用于配置模/数和数/模转换外设③ Timers:用于配置定时器和实时时钟外设④ Connectivity:用于配置I2C、SPI和UART等连接外设⑤ Multimedia:用于配置I2S等音频数据传输外设⑥ Computing:用于配置CRC校验外设⑦ Middleware:用于配置RTOS和GUI等中间件STM32CubeMX配置时钟模式展开或收起配置窗口Disable:内部时钟BYPASS:旁路时钟Crystal:晶振/陶瓷振荡器STM32CubeMX配置调试接口STM32CubeMX配置GPIO单击指示灯电路PA5输出高电平,指示灯LD2开启PA5输出低电平,指示灯LD2关闭高电平驱动方式STM32CubeMXSTM32CubeMX配置GPIO初始电平引脚模式上/下拉电阻引脚速度引脚名称配置GPIO参数4 时钟配置主讲人:靳光明时钟树STM32CubeMX时钟源模块1234① 外部低速时钟LSE:32.768KHz② 内部低速时钟LSI

:32KHz③ 内部高速时钟HSI:16MHz④ 外部高速时钟LSE:震荡模式:4MHz~26MHz晶振旁路模式:1MHz~50MHz信号时钟配置步骤1234① 修改时钟源频率

:25→

8②

选择锁相环输入时钟

:HSE③ 选择系统时钟源:PLLCLK④ 设置HCLK时钟频率:100,并回车5 工程配置STM32CubeMX配置模块工程管理代码生成高级设置工程名称123工程路径选择IDE工程管理完成工程名称和工程路径设置后,将自动在CubeMX文件夹下新建一个名为Led_Flash的文件夹工程管理代码生成设置复制所有库复制必要库引用参考片内外设初始化采用独立文件设置模拟功能使能断言语句、模板设置、STM32CubeMX高级设置选择HAL库或者LL库由CubeMX生成的外设初始化函数是否使用CubeMX所生成外设初始化函数STM32CubeMX生成工程工程未打开选择“Open

Project”工程已打开选择“Close”生成基于MDK-ARM集成开发环境的工程STM32CubeMX生成工程工程未打开选择“Open

Project”工程已打开选择“Close”生成基于MDK-ARM集成开发环境的工程1.8.3 在MDK中编写应用程序251 菜单栏工具栏3 工程窗口4 代码编辑窗口信息输出窗口MDK-ARM软件主界面MDK-ARM工程框架1234工程名称①MDK-ARM组:启动代码文件②User组:用户编程文件③HAL_Driver组:HAL库驱动文件④CMSIS组:系统初始化文件//包含头文件//

时钟初始化函数声明//

GPIO引脚初始化函数声明#include

"main.h"void

SystemClock_Config(void);void

MX_GPIO_Init(void);int

main(void)5.

{HAL_Init();SystemClock_Config();MX_GPIO_Init();while

(1)//

HAL库初始化//

时钟初始化//

GPIO引脚初始化//

while无限循环6.7.8.9.10. {11. }12.}main.c删除注释语句及内部函数添加控制引脚电平状态变化以及延时1s的代码--

南昌大学“卓越”辅导员培养工程建设MDK-ARM指示灯控制引脚PA5对应的端口号为GPIOA,引脚号为GPIO_PIN,函数调用形式:HAL_GPIO_TogglePin(GPIOA,GPIO_PIN5)接口函数:HAL_TogglePin函数原型voidHAL_GPIO_TogglePin(GPIO_TypeDef*

GPIOx,uint16_t

GPIO_Pin)功能描述翻转引脚电平状态入口参数1GPIOx:引脚端口号,范围是

GPIOA

~GPIOK入口参数2GPIO_Pin:引脚号, 范围是

GPIO_PIN0

~

GPIO_PIN15返回值

无注意事项

无--

南昌大学“卓越”辅导员培养工程建设接口函数:HAL_Delay函数原型voidHAL_Delay(uint32_tDelay

)功能描述延时函数,提供以ms单位的延时入口参数Delay:需要的延时时间,以ms为单位返回值无注意事项延时功能利用系统节拍定时器SysTIck实现,将占用该定时器资源MDK-ARM延时1S的函数调用形式:HAL_Delay(1000)用户添加的代码用户代码必须位于USER CODEBEGIN

和USER CODE

END 之间添加用户代码注意/*Infiniteloop*//*USERCODEBEGINWHILE*/while

(1)

4.

{5. /*USERCODEENDWHILE

*/6

./*USERCODEBEGIN3

*///

翻转PA5引脚电平,控制指示灯LD2的开启和关闭HAL_GPIO_ToggleP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论