找回密码
 立即注册

QQ登录

只需一步,快速开始

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

初学STM32之GPIO

[复制链接]
跳转到指定楼层
楼主
ID:80436 发表于 2015-5-21 23:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先,什么叫GPIO 它的全称是General Purpose Input Output,就是I/O(通用输入/输出),同时我们也知道51单片机的IO模式只有两种,AVR有三种,到了STM32就更复杂些了,有八种模式了 分别是:
    (1)浮空输入:In_Floating
    (2)带上拉输入:IPU(In Push_Up)
    (3)带下拉输入:IPD(In Push_Down)
    (4)模拟输入:AIN(Anolog In)
    (5)开漏输出:OUT_PD(OD 代表开漏,既Open Drain,OC代表开集,Open Collect)
    (6)推挽输出:OUT_PP(PP代表推挽式,Push_Pull)
    (7)复用功能推挽输出:AF_PP(AF代表复用功能,Alternate-Fuction)
    (8)复用功能开漏输出:AF_OD
  要用IO,那就先得配置IO
配置如下
void GPIO_Config(void)
{
        /*定义一个GPIO_InitTypeDef类型的结构体*/
        GPIO_InitTypeDef GPIO_InitStructure;
        /*开启GPIOC的外设时钟*/
        RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE);
        /*选择要控制的GPIOC引脚*/                                                                                                                          
          GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5;       
        /*设置引脚模式为通用推挽输出*/
          GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;   
        /*设置引脚速率为50MHz */   
          GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        /*调用库函数,初始化GPIOC*/
          GPIO_Init(GPIOC, &GPIO_InitStructure);                  
}
配置好了就可以对GPIO进行操作了(置位/复位)
先看库函数原型吧

例好GPIO_SetBits(GPIOC,GPIO_Pin_5); GPIO_SetBits(GPIOC,GPIO_Pin_5);

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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