找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1968|回复: 0
打印 上一主题 下一主题
收起左侧

stm32 GPIO常用脚配置

[复制链接]
跳转到指定楼层
楼主
ID:235123 发表于 2017-11-1 16:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


GPIO  常用配置( MCU:STM32F103C8T6                ,固件库: 1.0 ):
AD:
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
   //AD  配置为模拟输入
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
   GPIO_Init(GPIOC, &GPIO_InitStructure);
CAN :
   /* Configure CAN pin: RX */
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
   //接收脚配置为上拉输入
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
   GPIO_Init(GPIOA, &GPIO_InitStructure);
   /* Configure CAN pin: TX */
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
   //发送脚配置为复用推拉输出
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
   GPIO_Init(GPIOA, &GPIO_InitStructure);
EXTI:
   /* Configure PB.09 as input floating (EXTI Line 9) */
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
   //作为外部中断时配置为浮空输入
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOA             TING;
   GPIO_Init(GPIOB, &GPIO_InitStructure);
I2C :
   /* Configure I2C1 pins: SCL and SDA     ----------------------------------------*/
   GPIO_InitStructure.GPIO_Pin =       GPIO_Pin_6 | GPIO_Pin_7;
   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
   //SCL 和SDA  都配置为复用开漏输出
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;
   GPIO_Init(GPIOB, &GPIO_InitStructure);
SPI:
   /* Configure SPI1 pins: SCK, MISO and MOSI ---------------------------------*/
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;
   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
   //配置为复用推拉输出
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
   GPIO_Init(GPIOA, &GPIO_InitStructure);
USART:
  /* Configure USART2 RTS (PD.04) and USART2 Tx (PD.05) as alternate function push-pull */
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5;
   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  //发送脚配置为推拉输出
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
   GPIO_Init(GPIOD, &GPIO_InitStructure);
  /* Configure USART2 CTS (PD.03) and USART2 Rx (PD.06) as input floating */
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_6;
  //接收脚配置为浮空输入
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOA     TING;
   GPIO_Init(GPIOD, &GPIO_InitStructure);
总结:普通 IO        口作为输入时配置为浮空输入(  GPIO_Mode_IN_FLOA  TING  ),作为输出如
果不需要从本口获取数据时配置为推拉输出(                         GPIO_Mode_Out_PP  ),需要读取数据时配置
为开漏输出( GPIO_Mode_Out_OD           )。
                                                                        王伟

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表