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的大小和演算...