2,嵌入式Linux之GPIO

2021-06-27 05:50:10 字數 2111 閱讀 3566

2,嵌入式linux之gpio

1,點燈

1)看懂你所用的開發板的原理圖 產看led和gpio管腳是怎麼接線的如圖:

2) 通過s3c2440晶元控制暫存器配置gpf4 gpf5 gpf6為輸入引腳 來點亮 上圖的led燈

檢視s3c2440晶元手冊:

3) 配置gpio 使得gpf4 gpf5 gpf6 為輸出引腳並輸出低電平

用c語言先點亮gpf4 程式如下:

#define  gpfcon  (*(volatile unsigned long *) 0x56000050) 

#define gpfdat (*(volatile unsigned long *) 0x56000054)

int main () //點亮 gpf4引腳的所在的那盞燈。

迴圈點燈 gpf 4 5 6:

#define gpfcon  (*(volatile unsigned long *) 0x56000050)

#define gpfdat (*(volatile unsigned long *) 0x56000054)

#define gpf4_out (1<

#define gpf5_out (1<

#define gpf6_out (1<

void wait(volatile unsigned dly)

int main(void)

}return 0;

}

4),按鍵點燈原理圖:

①配置按鍵為輸入引腳 led為輸出引腳

②讀按鍵的值  根據值設定led的引腳值

#define gpfcon      (*(volatile unsigned long *)0x56000050)

#define gpfdat (*(volatile unsigned long *)0x56000054)

#define gpgcon (*(volatile unsigned long *)0x56000060)

#define gpgdat (*(volatile unsigned long *)0x56000064)

/* * led1,led2,led4對應gpf4、gpf5、gpf6

*/#define gpf4_out (1<

#define gpf5_out (1<

#define gpf6_out (1<

#define gpf4_msk (3<

#define gpf5_msk (3<

#define gpf6_msk (3<

/* * s2,s3,s4對應gpf0、gpf2、gpg3

*/#define gpf0_in (0<

#define gpf2_in (0<

#define gpg3_in (0<

#define gpf0_msk (3<

#define gpf2_msk (3<

#define gpg3_msk (3<

int main()

return 0;

}

嵌入式linux下操作GPIO

本文 在嵌入式裝置中對gpio的操作是最基本的操作。一般的做法是寫乙個單獨驅動程式,網上大多數的例子都是這樣的。其實linux下面有乙個通用的gpio操作介面,那就是我要介紹的 sys class gpio 方式。首先,看看系統中有沒有 sys class gpio 這個資料夾。如果沒有請在編譯核心...

嵌入式GPIO介面及操作(一)

gpio意思就是通用輸入輸出,一些引腳可以通過他們輸出高低電平,或者通過它們讀入引腳的狀態。對gpio的操作是對所有硬體的操作最基本的技能。一 通過暫存器來操作gpio引腳,乙個引腳可以用於輸入 輸出或者其他的特殊功能,那麼一定有暫存器來配置這些功能,對於輸入,就是讀取引腳的狀態,一定可以從暫存器在...

嵌入式linux之NOR FLASH驅動

flash 儲存器介面還有兩個標準 cfi和jedec。cfi為公共flash介面 common flash inte ce 用來幫助程式從flash晶元中獲取操作方式資訊,而不用在程式中硬編碼flash的id。jedec用來幫助程式讀取flash的製造商id和裝置id,以確定flash的大小和演算...