pdf

外部IO中断实验

  • 1星
  • 日期: 2018-06-25
  • 大小: 1.01MB
  • 所需积分:1分
  • 下载次数:4
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: IO口

IO口

STM32F103

STM32F系列属于中低端的32位ARM微控制器,该系列芯片是意法半导体(ST)公司出品,其内核是Cortex-M3。本章详细介绍了:stm32f103引脚图,stm32f103功能图,stm32f103芯片解密,stm32f103设计案例等内容。

中断

中断

单片机

单片机(Microcontrollers,亦称MCU)包括了CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

这节课给大家介绍一下 STM32F103 系列单片机的外部 IO 口中断, 我们开发板使用的是 STM32F103VC 这款芯片,这款芯片一共有 100 个引脚,除去芯片上的电源引脚, 接地引脚,晶振引脚,BOOT 输入引脚,还剩下 80 个引脚,它们分布在 GPIOA-GPIOE 这 5 个端口组上, STM32F103 系列单片机的每个 IO 口都可以作为外部中断源的输入,给编程带来了很多的方便。

李想 编著 配套开发板购买地址 +视频下载+源程序 http://lixiang1234.taobao.com 青岛理想智芯科技 电话:13012418100 第八回 外部 IO 中断实验 好了,朋友们我们接着上课,这节课给大家介绍一下 STM32F103 系列单片机的外部 IO 口中断, 我们开发板使用的是 STM32F103VC 这款芯片,这款芯片一共有 100 个引脚,除去芯片上的电源引脚, 接地引脚,晶振引脚,BOOT 输入引脚,还剩下 80 个引脚,它们分布在 GPIOA-GPIOE 这 5 个端口组上, STM32F103 系列单片机的每个 IO 口都可以作为外部中断源的输入,给编程带来了很多的方便。下面 我们看一下 IO 口和中断线的映射关系图: 从上面截图可以看出,供 STM32F103 系列的单片机 IO 口使用的中断线只有 16 个,但是 STM32F103 系列单片机的 IO 口却远远不止 16 个,这样那就产生了一个问题,就 IO 端口多(STM32F103VC 这款 单片机就有 80 个 IO 口),中断线少(只要 16 个中断线),看一下 STM32 单片机是如何解决这个问题 的,STM32F103 系列单片机它是把 PA0-PG0 这 7 个 IO 引脚接到了中断 EXTI0 这条中断线上,PA1-PG1 接到 EXTI1 这条中断线上,„„,PA15-PG15 接到 EXTI15 这个条中断线上,这样就把 16 个中断线和 IO 引脚一一对应起来的,而一条中断线每次只能允许连接到 1 个 IO 引脚,这样就需要通过配置来决定 那个 IO 引脚连接到哪个 EXTI?中断线上,看一下用 ST 的固件库是如何实现这个功能的: 网址:http://lixiang1234.taobao.com 青岛理想智芯科技 电话:13012418100 从上面的截图可以看到这个库函数的功能就是选择那个 IO 引脚作为外部中断线路,它有 2 个输入参 数,第一个输入参数 GPIO_PortSource,它的作用就是选择哪一组 GPIO 端口作为外部中断源,它的 值可以取下面这张表中的任意一个值: 第二个输入参数 GPIO_PinSource,这个参数可以选择 GPIO 端口的那个引脚作为中断源的输入,大家 都知道 STM32 单片机一组 GPIO 端口有 16 个引脚(比如 PA 这个端口,它有 PA0-PA15 这 16 个 IO 引脚), 所以说 GPIO_PinSource 它的取值范围是 0-15 也就不奇怪了。 好了,朋友吗,关于外部 IO 端口的中断知识,我就给大家介绍到这里,下面看一下这节课要做 的实验,就是通过实验板上网络编号为 S5 这个按键,在按下这个按键的时候产生一个下降沿的中断, 来控制实验板上网络编号为 D4 的这个发光二级管进行取反。下面还是看一下这节课的代码吧,遇到 新的知识点我在给大家讲一下: 代码的 main 函数还是比较简单的,在代码的第 14 行调用一个“Led_GIPO_Confing()”函数,我们还 是看一下这个函数的定义把: 网址:http://lixiang1234.taobao.com 青岛理想智芯科技 电话:13012418100 这个函数在前面的课程已经给大家介绍了,它的主要的功能就是把 GPIOB 的时钟打开,把 PB0 这个引 脚配置为速率为 50MHZ 的通用的推挽输出;在这里为什么要配置 PB0 这个 IO 引脚那?这是因为我们 这节课的实验要用到 PB0 这个引脚来控制开发板网络编号为 D4 的这个发光二级管取反。 好了接着看代码的主程序,在主程序的第 15 行,调用了“EXTI_PD5_Config()”这个函数,我们 还是看一下这个函数的内容把: 代码的第 32 行定义了一个“GPIO_InitTypeDef” 结构体类型的变量“GPIO_InitStructure”。 第 33 行定义了一个“EXTI_InitTypeDef” 结构体类型的变量“EXTI_InitStructure”,这个结构体 类型我们以前没有见到过,我在这里给大家介绍一下这个结构体,先看一下这个结构体里面的内容吧: 在“EXTI_InitTypeDef”这个结构体中一共声明了 4 个成员,我们分别看一下吧: 1:uint32_t EXTI_Line 这个参数就是让我们选择哪条外部的中断线,该参数可取的值: 网址:http://lixiang1234.taobao.com 青岛理想智芯科技 电话:13012418100 2:EXTI_Mode 该参数让我们设置中断线路的模式,是事件请求还是中断请求,该参数可取的值: “李想老师,你能不能给我们介绍一下 STM32 单片机的中断与事件的区别啊” 好的,下面那我就给朋友们介绍一下这方面的内容,还是先来看一幅图: 这张图是一条外部中断线或外部事件的工作原理示意图,图中信号线上划有一条斜线,旁边标志 19 字 样的注释,表示这样的线路共有 19 条,对应 STM32F103 系列单片机的中断控制器支持 19 个外部中断 网址:http://lixiang1234.taobao.com
更多简介内容

推荐帖子

评论

登录/注册

意见反馈

求资源

回顶部

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })