实验外部中实验说明文档.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验外部中实验说明文档

实验5外部中断实验说明文档 外部中断硬件说明 GPIO硬件说明 STM32开发板引出了电路长的所有IO口,电路如下 图 1 引出的IO口 STM32的IO口可以通过软件配置为以下的8种模式 (1)GPIO _Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入 (3)GPIO_Mode_IPD 下拉输入 (4)GPIO_Mode_IPU 上拉输入 (5)GPIO_Mode_Out_OD开漏输出 (6)GPIO_Mode_Out_PP 推挽输出 (7)GPIO_Mode_AF_OD 复用开漏输出 (8) GPIO_Mode_AF_PP复用开漏输出 STM32的每个IO端口都有7个寄存器来控制,他们分别是:2个32位的端口,配置寄存器CRL和CRH;一个16位的复用寄存器BRR;2个32位的数据寄存器IDR和ODR;1个32位的锁存寄存器LCKR;详细资料可以参见STM32中文参考资料. LED硬件说明 STM32 开发板上的两个LED:LED0 和LED1.如下图: 图2 LED 与STM32 连接原理图 STM32中硬件电路将PB5管脚与LED0灯连接,而另一LED灯LED1则是连接在PE5. 由电路可知,两个LED都是通过灌电流的方式来加电压,所以应将相应的GPIO口配置为输出方式,通过合理的控制其连接的GPIO口的输出电压(置高置低)就能控制灯的闪烁(关于GPIO配置操作请详见GPIO固件库说明文档). BEEP硬件说明 STM32 开发板上的一个BEEP.如下图: 图1 BEEP与STM32 连接原理图 STM32中硬件电路将PB8管脚与BEEP连接,电路中用到NPN三极管(s8050)来驱动蜂鸣器,三极管主要的功能是放大电流,让电路有足够的电流来驱动蜂鸣器.当PB.8输出高电平时,蜂鸣器开始发声,当PB.8输出低电平时,蜂鸣器停止发声. KEY硬件说明 STM32 开发板上的4个按钮(WK_UP,KEY0,KEY1,KEY2)如下图: 图1 KEY与STM32 连接原理图 STM32中硬件电路将PE4与KEY0连接在按钮按下时电路接地为低电平, PE3与KEY1连接在按钮按下时电路接地为低电平, PE2与KEY2连接在按钮按下时电路接地为低电平, PA0与WK_UP连接在按钮按下时电路接地为高电平, 由电路可知,本实验通过WK_UP在芯片内部拉低输入模式下 检测高电平时控制键蜂鸣器的开关按键KEY0检测为低时候控制LEDO和LED1同时开关,按键KEY1控制LED1的开关,按键KEY2控制LED0的开关,有关配置GPIO口 (关于GPIO配置操作请详见GPIO固件库说明文档). EXTI说明 STM32开发板有19个外部中断,在外部的IO口上有16个外部中断,分别如下 图 1 GPIO口与外部中断映射图 STM32的IO端对应16个外部中断,GPIOx.0- GPIOx.15其中(x=A,B,C,D,E,F)分别对应中断线,每个中断线最多对应七个IO口,而中断线每次只能连接到一个IO口上去,可在软件中去配置 STM32上的每个IO口可以自由编程,需要以32位的字访问 外部中断软件说明 实验中用到了GPIO固件库函数和LED固件库的函数的总和,在引用MCU中的头文件后用到的GPIO函数以及LED函数如下 GPIO中的库函数 使能总线时钟 void GpioRccEnable(GPIO_TypeDef* GPIOx); 2)配置管脚为输入输出模式 void GpioConfig(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin,GPIOMode_TypeDef mode,GPIOSpeed_TypeDef speed ); 3)设置某一端口为输入输出模式 void GpioSet(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin,GPIOMode_TypeDef mode,GPIOSpeed_TypeDef speed ); 4)设置输入模式并初始化 void GpioSetInMode(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin ); 5)设置输出模式并初始化 void GpioSetOutMode(GPIO_TypeDef* GPIOx, uint16_t GP

文档评论(0)

ipbohn97 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档