嵌入式學習筆記之GPIO

來源:互聯網
上載者:User

嵌入式學習筆記之GPIO

         GPIO,意為通用輸入輸出連接埠,根據它們可以讀取連接埠的高低電平或者讀入引腳狀態。S3C2410晶片共有117個I/O連接埠,共分為8組:A~H。分別為:GPA、GPB…GPH。連接埠的輸入輸出功能可以通過設定特定的連接埠值來確定。

         控制s3c2410的GPIO連接埠的寄存器有3類,分別是GPxCON、GPxDAT、GPxUP (x=A~H):

         GPxCON:GPIO控制寄存器,可以設定選定GPIO口的輸入輸出方式和功能。GPA組的23個連接埠比較特殊,只能是輸出方式。GPACON的每一位對應一個引腳,當某位為0時,對應引腳為輸出連接埠,否則為複用功能。

     GPBGPH連接埠的GPxCON寄存器使用方法一致,每兩位控制一個引腳,00時為輸入I/O口,01時為輸出I/O口,10時為複用功能,11保留。

         GPxDAT:此引腳用於讀寫引腳的狀態,即連接埠資料。當引腳配置為輸出時,給該寄存器某位寫1,則對應引腳輸出高電平,寫0輸出低電平。當引腳配置為輸出時,讀該寄存器可以得到連接埠電平狀態。

        GPxUP:該寄存器可以設定引腳是否使用上拉電阻,某位為0時對應引腳使用上拉電阻,某位為1時不使用上拉電阻。注意:GPA組沒有GPxUP寄存器,即沒有上拉電阻。

        1、何為上拉電阻、下拉電阻:

       上拉電阻                                              
下拉電阻

                                                  

        上拉電阻是針對NPN來說的,下拉電阻是針對PNP來說的!不管是上拉電阻還是下拉電阻都是為了使集電極有確定的電位!

        比如對NPN來說,當不用上拉電阻的時候,若基集為正,則導通,集電極為0。但當基集為0,則截止,此時集電極是懸空的,電位無法確定!一旦加了上拉電阻,當導通的時候,集電極為0,當截止的時候,集電極為正。

       PNP也一樣,導通的時候集電極為正,截止的時候集電極為0。

       2、GPIO連接埠配置方法:

       單個引腳的操作無非就三種情況:輸出高低電平,檢測引腳狀態,中斷。對引腳的操作一般是通過特定寄存器的配置完成。

,根據LED 的硬體電路圖,實現點亮LED:

#define GPFCON (*(volatile unsigned long *)0x56000050)
#define GPFDAT (*(volatile unsigned long *)0x56000054)

#define GPF4_out (1<<(4*2))
#define GPF5_out (1<<(5*2))
#define GPF6_out (1<<(6*2))
#define GPF7_out (1<<(7*2))

void  wait(volatile unsigned long dly)
{
 for(; dly > 0; dly--);
}

int main(void)
{
 unsigned long i = 0;

 GPFCON = GPF4_out|GPF5_out|GPF6_out|GPF7_out; // 將LED1-4對應的GPF4/5/6/7三個引腳設為輸出

 while(1){
  wait(30000);
  GPFDAT = (~(i<<4));   // 根據i的值,點亮LED1~4
  if(++i == 8)
   i = 0;
 }

 return 0;
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.