找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 2440|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

初學(xué)STM32之GPIO

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:80436 發(fā)表于 2015-5-21 23:15 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
首先,什么叫GPIO 它的全稱是General Purpose Input Output,就是I/O(通用輸入/輸出),同時(shí)我們也知道51單片機(jī)的IO模式只有兩種,AVR有三種,到了STM32就更復(fù)雜些了,有八種模式了 分別是:
    (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)復(fù)用功能推挽輸出:AF_PP(AF代表復(fù)用功能,Alternate-Fuction)
    (8)復(fù)用功能開漏輸出:AF_OD
  要用IO,那就先得配置IO
配置如下
void GPIO_Config(void)
{
        /*定義一個(gè)GPIO_InitTypeDef類型的結(jié)構(gòu)體*/
        GPIO_InitTypeDef GPIO_InitStructure;
        /*開啟GPIOC的外設(shè)時(shí)鐘*/
        RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE);
        /*選擇要控制的GPIOC引腳*/                                                                                                                          
          GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5;       
        /*設(shè)置引腳模式為通用推挽輸出*/
          GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;   
        /*設(shè)置引腳速率為50MHz */   
          GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        /*調(diào)用庫(kù)函數(shù),初始化GPIOC*/
          GPIO_Init(GPIOC, &GPIO_InitStructure);                  
}
配置好了就可以對(duì)GPIO進(jìn)行操作了(置位/復(fù)位)
先看庫(kù)函數(shù)原型吧

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

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表