版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3 HAL库的设计思想1--
南昌大学“卓越”辅导员培养工程建设GPIO面向对象对象数据类型接口函数方法数据设计相应的数据类型来表示外设的各种功能外设的属性设计相应的接口函数执行外设的各种操作:初始化、控制、读取外设状态等外设的操作引脚的编号、工作模式、上拉/下拉电阻、输出速度、复用功能引脚的属性引脚初始化、读取引脚、写入引脚、翻转引脚、锁定引脚引脚的操作HAL库借鉴面向对象的设计思想2编程者只需要了解库函数中相关接口函数的功能,并按照要求传入参数,利用返回值完成操作即可,不需要过多了解底层硬件。屏蔽底层硬件提高开发效率程序执行效率开发特点开发难度较小,开发周期较短,后期的维护升级、以及硬件平台的移植等工作量较小。由于考虑了程序的稳健性、扩充性和可移植性,程序代码比较繁琐和臃肿,执行效率较低。基于库函数的程序开发方式的特点GPIO开发特点3GPIO使用步骤使能引脚所属端口的系统总线时钟(AHB):调用函数
HAL_RCC_GPIOx_CLK_ENABLE使能时钟设置参数配置引脚控制引脚利用引脚初始化类型GPIO_InitTypeDef定义结构体变量,根据具体需求配置成员变量:Pin、Mode、Pull、Speed、Alternate调用初始化函数HAL_GPIO_Init完成引脚配置,将配置参数写入对应的硬件寄存器使用对应的控制函数完成引脚的控制:函数HAL_GPIO_ReadPin读取引脚状态;函数HAL_GPIO_WritePin设置引脚电平12344HAL库中GPIO模块的使用步骤:--
南昌大学“卓越”辅导员培养工程建设GPIO强强联合HAL库和CubeMX相结合①
外设初始化过程繁琐,用户需要了解初始化数据类型,根据需求配置成员变量;使用HAL库编程的问题联合编程②
掌握成员变量的含义及取值范围
①
在CuebMX中完成引脚的初始化设置:如引脚编号、引脚功能输出模式、上拉/下拉②掌握接口函数的使用5任务2.2
任务实践6--
南昌大学“卓越”辅导员培养工程建设GPIO学习建议各个外设模块任务实践的学习建议① 建议大家在英文路径下新建一个名为CubeMX的文件夹存放所有的编程练习,在CubeMX文件夹下面再根据外设模块建立不同的子文件夹,如GPIO、EXIT、TIMER和UART等。②
本课程按照阶梯式的学习方法,对于每一个外设模块的学习,都设置了基础型、进阶型和挑战型等多种任务。建议大家在练习每一个任务时,单独建立一个文件夹,存放与该任务相关的工程文件。7--
南昌大学“卓越”辅导员培养工程建设使用流程1.
目标选择2.
引脚分配3.
外设配置4.
时钟配置5.
工程配置6.
程序编写对于同一个应用电路的不同任务而言,目标选择、时钟配置和工程配置等步骤的设置都是相同,用户只需要修改引脚分配和外设配置这两个步骤GPIO根据具体任务,在用户所选择的集成开发环境中进行用户代码的添加8--
南昌大学“卓越”辅导员培养工程建设工程复制步骤GPIO由于不同任务只需要修改引脚分配和外设配置,因此CubeMX的工程文件不需要每次都重新建立,只需要将之前建立的工程整体复制到新的文件夹即可,步骤如下:① 新建一个文件夹,文件夹的名称和具体的工程应用相关,如驱动指示灯的任务,就可以将文件夹命名为LED;② 将之前建立的一个工程文件夹中的内容整体复制到新文件夹中,并删除其中的MDK-ARM文件夹;③ 修改CubeMX生成的.ioc文件名,和新的工程名称一致,如LED.ioc;④ 点击重命名的IOC文件,启动CubeMX软件。按照新任务的要求完成引脚分配和外设配置后,重新生成MDK工程;⑤ 修改MDK工程的相关设置:如仿真器的选择等;⑥ 添加用户代码,并完成程序的编译、下载和调试等后续操作。91 基础任务:驱动指示灯10基础任务1任务目标掌握CubeMX软件配置GPIO外设的方法2任务内容GPIO控制STM32F407ZET6开发板上的指示灯(发光二极管正极接PF9)每隔100ms闪烁。基础任务:驱动指示灯11123双击步骤一:目标选择① 启动CubeMX软件,选择“ACCESS
TO
MCUSELECTOR”,进入目标选择界面;② 在芯片搜索框输入芯片型号“STM32F407ZE”;③ 在芯片列表框双击出现的芯片型号,启动芯片配置;输入芯片型号12基本配置GPIO基本配置:选择时钟源晶振/振荡器13基本配置GPIO基本配置:配置调试接口SWD串行调试接口14引脚分配15GPIO步骤二:引脚分配单击PF9默认的引脚名称控制指示灯,引脚为输出模式外设配置GPIO步骤三:外设配置在出现的引脚清单中单击需要配置的引脚PF916指示灯电路PF9输出高电平,指示灯LED0熄灭PF9输出低电平,指示灯LED0点亮高电平驱动方式GPIO17外设配置GPIO配置GPIO外设参数初始电平引脚模式上/下拉电阻引脚速度引脚名称确保指示灯的默认状态为关闭确保引脚可以输出高电平和低电平通过表明引脚的作用来提高程序的可读性18时钟配置GPIO123
4步骤四:时钟配置①修改时钟源频率②选择锁相环输入时钟选择系统时钟源③设置HCLK频率,并回车④设置HCLK频率,并回车19工程配置GPIO步骤五:工程配置工程名称123保存路径选择IDE20生成工程工程未打开选择“Open
Project”工程已打开选择“Close”,并在MDK软件中接受工程中的变化GPIO21程序编写GPIO步骤六:程序编写在main.c文件中添加用户代码添加位置在USER
CODE
BEGIN3
和
USER
CODE
END
3
之间在main.h文件中对端口和引脚取了一个别名,通过表明引脚的作用来提高程序的可读性22引脚初始化程序配置参数根据用户在CubeMX中的设置决定
输出推挽无上拉/下拉电阻低速输出优点:外设初始化由CubeMX自动生成,用户只需要编写应用程序23GPIO工程设置1工程设置利用工具栏的三个图标完成工程设置、程序编译和下载2程序编译3程序下载在Debug标签页中的选择所使用的仿真器,并在仿真器设置窗口中勾选“Reset
and
Run”24GPIO程序调试利用工具栏的Debug图标进入程序调试界面进入/退出程序调试252 进阶任务:按键控制26进阶任务1任务目标掌握CubeMX软件配置GPIO外设的方法2任务内容GPIO采用查询方式检测按键状态,按键按下后执行操作:翻转指示灯LED0状态。进阶任务:按键控制27按键电路按键Key0按下,引脚PE4读到低电平按键Key0释放,引脚PE4读到高电平(初始化PE4为高)上拉式按键GPIO28按键控制引脚PE4按键波形GPIO前沿抖动5~10ms后沿抖动5~10ms按键抖动问题按键的机械特性造成按键的抖动真正的有效按键时间按键的抖动会导致一次按键动作被当成多次按键,为确保MCU对按键的一次闭合仅作一次处理,必须消除按键的抖动,在按键处于稳定状态时读取按键的状态。整个按键周期零点几秒到几秒29按键消抖GPIO硬件消抖,①
检测出按键闭合后执行延时程序,延时时间为5ms~10ms,用于去掉前沿抖动;②
再次检测按键状态,如果保持闭合状态才认为按下,并执行相应的按键任务;③
按键的释放可以采用延时或者循环检测的方式去掉后沿抖动;软件消抖两种按键消抖方法30利用RC低通滤波器滤掉抖动--
南昌大学“卓越”辅导员培养工程建设GPIO小贴士对于同一个应用电路的不同任务而言,目标选择、时钟配置和工程配置等步骤的设置都是相同,因此后续的任务实现步骤中将重点介绍引脚分配、外设配置以及程序编写等步骤。1.
目标选择2.
引脚分配3.
外设配置4.
时钟配置5.
工程配置6.
程序编写31引脚分配GPIO步骤二:引脚分配设置按键引脚PE4指示灯引脚PF9控制按键,引脚为输入模式32外设配置
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第1课时 鸡兔同笼
- 2026秋新版冀人版小学科学五年级上册全册每课教学反思(核心素养版)
- 食品采购考试题及答案
- 2026年一建市政实务高频错题重组试卷及答案
- 2026年一建民航机场工程实务考前综合能力测评试卷(含答案)
- 2026年一建矿业实务二轮冲刺试卷及答案
- 2026年一建经济考前标准预测卷试卷及答案
- 2026肥料业务面试题及答案
- 2026观察实践的面试题及答案
- 2026航线维修面试题及答案
- 家庭教育指导师培训课件
- 2025年南京工业大学辅导员考试真题
- (2025)一级消防工程师继续教育题库及参考答案
- 外周T-细胞淋巴瘤护理措施
- 2026年蔬菜种植公司种植生产成本核算与控制制度
- 建安工程成本测算表
- 2025年湖北省中小学教师高级职称专业水平能力测试模拟题含参考答案
- 错混料培训课件
- 油品供应链合同谈判技巧与案例分析
- 快检知识培训课件
- CNC注塑钣金冲压过程审核表
评论
0/150
提交评论