第4章 stm32单片机通用输入输出GPIO.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.5 GPIO应用设计 4.5.1 GPIO常用库函数 4.5.2 GPIO使用流程 4.5.3 GPIO应用实例 函数名称 功能 GPIO_DeInit 将外设GPIOx寄存器重设为缺省值 GPIO_AFIODeInit 将复用功能(重映射事件控制和EXTI设置)重设为缺省值 GPIO_Init 根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器 GPIO_StructInit 把GPIO_InitStruct中的每一个参数按缺省值填入 GPIO_ReadInputDataBit 读取指定端口管脚的输入 GPIO_ReadInputData 读取指定的GPIO端口输入 GPIO_ReadOutputDataBit 读取指定端口管脚的输出 GPIO_ReadOutputData 读取指定的GPIO端口输出 GPIO_SetBits 设置指定的数据端口位 GPIO_ResetBits 清除指定的数据端口位 GPIO_WriteBit 设置或者清除指定的数据端口位 GPIO_Write 向指定GPIO数据端口写入数据 GPIO_PinLockConfig 锁定GPIO管脚设置寄存器 GPIO_EventOutputConfig 选择GPIO管脚用作事件输出 GPIO_EventOutputCmd 使能或者失能事件输出 GPIO_PinRemapConfig 改变指定管脚的映射 GPIO_EXTILineConfig 选择GPIO管脚用作外部中断线路 4.5.2 GPIO使用流程 (1) 配置输入的时钟,完成初始化; (2) 如果使用该外设的输入输出脚,则需要配置相应的 GPIO端口 (3) 对外设进行详细配置: (a) 外设对应的管脚为输出:需要根据外围电路的配置选择对应的管脚为复用功能的推挽输出或复用功能的开漏输出。 (b) 外设对应的管脚为输入:则根据外围电路的配置可以选择浮空输入、带上拉输入或带下拉输入。 (c) ADC对应的管脚:配置管脚为模拟输入。 如果把端口配置成复用输出功能,则引脚和输出寄存器断开,并和片上外设的输出信号连接。将管脚配置成复用输出功能后,如果外设没有被激活,那么它的输出将不确定。 4.5.3 GPIO应用实例 利用STM32F10x的GPIO功能驱动LED闪烁。GPIO驱动LED电路原理图如图4-8所示,采用PD2,PA8连接LED。 将程序下载到开发板,可以看到LED1和LED2同时闪烁; 也可以采用软件仿真验证PA8和PD2的输出。 SetBits 4.5.2 GPIO使用流程 void GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; // RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; // GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOD, GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOA, GPIO_InitStructure); } 步骤一:GPIO的配置 4.5.2 GPIO使用流程 使能GPIO的端口时钟 4.5.2 GPIO使用流程 使能GPIO的端口时钟 步骤一:GPIO的配置 RCC_APB2PeriphClockCmd()这个库函数有2个输入参数 RCC_APB2Periph:由于挂接在APB2总线上的外设模块很多,该参数用以选择同时开启一个外设或者多个外设 NewState:ENABLE 或 DISABLE “RCC_APB2Periph”值 可以取上表一个或者多个值的组合 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOA, ENABLE); 步骤一:GPIO的配置 void GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitStructur

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档