2011/06/10

[Linux] Linux 上的 GPIO / I2C 實作筆記之一

什麼是 GPIO ?
全稱是 "General Purpose I/O"。General Purpose ,就是用途不限。 Input / Output 指的是拉電位高低,Hardware 上的電位高低是以電壓值的範圍來規範,下面 DataSheet 中提供的電位表:

依循這個規則,我們可以指揮 SoC 的暫存器作工在 PIN 腳上,讓這些 PIN 腳電位 [輸出|輸入] + [拉高|拉低] 來達成我們的要求。

既然是要 SoC 的暫存器工作,就可以看 SoC 的範本怎麼工作,我們依樣畫葫蘆就可以。
例如:
我們可以在 ./arch/mips/ar7240/gpio.c 裡面找到 ar7240 的 wpa, wps led, factory reset button 的 gpio ,就照抄這些 function call 去工作。

ar7240_gpio_out_val (WPS_LED_GPIO, WPS_LED_ON);
ar7240_gpio_out_val (WPS_LED_GPIO, WPS_LED_OFF);


呼叫時代入的參數,因為 gpio 是代入 PIN 腳的號碼,所以一次動作只有一個 bit(0|1) ,要特別小心注意自已代入的值是什麼。

--
參考資料:
* 維基百科上的說明 http://zh.wikipedia.org/wiki/GPIO
* 我所知道的 GPIO http://kezeodsnx.pixnet.net/blog/post/30257192
* http://www.microchipc.com/sourcecode/#PIC18LF4550_LCD_temp_sensor
* I2C 介紹 http://www.youtube.com/watch?list=PLB1BE22BA36431CFD&feature=player_embedded&v=BcWixZcZ6JY
張貼留言

[Windows] 好用的小工具: AutoHotKey

做為一個 Linux 的愛好者,轉移到 Windows 上面的時候,往往難以適應 Windows 調整快捷鍵的方式,所以 google 了一下,結果發現很多人愛用的 "Auto Hot key"。不多說,就來給一個範例說明如何使用 Auto Hot key 來...