把GPIO 通過sysfs匯出到使用者空間

2021-07-02 18:52:10 字數 1806 閱讀 4684

在嵌入式裝置中對gpio的操作是最基本的操作。一般的做法是寫乙個單獨驅動程式,網上大多數的例子都是這樣的。其實linux下面有乙個通用的gpio操作介面,那就是我要介紹的 「/sys/class/gpio」 方式。 

首先,看看系統中有沒有「/sys/class/gpio」這個資料夾。如果沒有請在編譯核心的時候加入   device drivers  —>  gpio support  —>     /sys/class/gpio/… (sysfs inte***ce)。 

/sys/class/gpio 的使用說明: 

01 gpio_operation 通過/sys/檔案介面操作io埠 gpio到檔案系統的對映 

02 * 控制gpio的目錄位於/sys/class/gpio 

03 * /sys/class/gpio/export檔案用於通知系統需要匯出控制的gpio引腳編號 

04 * /sys/class/gpio/unexport 用於通知系統取消匯出 

05 * /sys/class/gpio/gpiochipx目錄儲存系統中gpio暫存器的資訊,包括每個暫存器控制引腳的起始編號        base,暫存器名稱,引腳總數 匯出乙個引腳的操作步驟 

06 * 首先計算此引腳編號,引腳編號 = 控制引腳的暫存器基數 + 控制引腳暫存器位數 

07 * 向/sys/class/gpio/export寫入此編號,比如12號引腳,在shell中可以通過以下命令實現, 

echo 12 > /sys/class/gpio/export 

命令成功後生成/sys/class/gpio/gpio12目錄,如果沒有出現相應的目錄,說明此引腳不可匯出: 

08   

09 * direction檔案,定義輸入輸入方向,可以通過下面命令定義為輸出 

10   echo out > /sys/class/gpio/gpio12/direction 

11 * direction接受的引數:in, out, high, low。high/low同時設定方向為輸出, 

並將value設定為相應的1/0。 

12 * value檔案是埠的數值,為1或0. 

13   echo 1 >/sys/class/gpio/gpio12/value 

下面在2440下進行一下測試 

1.取得gpio資訊,在終端中敲入以下命令 

1 $ cd /sys/class/gpio 

2 $ for i in gpiochip* ; do echo `cat $i/label`: `cat $i/base` ; done 

終端中顯示如下 

1 gpioa: 0 

2 gpioe: 128 

3 gpiof: 160 

4 gpiog: 192 

5 gpioh: 224 

6 gpiob: 32 

7 gpioc: 64 

8 gpiod: 96 

2.計算gpio號碼 

我們把gpe11用來控制led。 

gpe0的頭是128,gpe11 就是128+11 = 139. 

1 $ echo 139 > /sys/class/gpio/export 

ls 一下看看有沒有 gpio139 這個目錄 

3.gpio控制測試。 

控制led所以是輸出。 

所以我們應該執行 

1 $ echo out > /sys/class/gpio/gpio139/direction 

之後就可以進行輸出設定了。 

1 $ echo 1 > /sys/class/gpio/gpio139/value

通過NPOI把DataTable匯出到Excel

npoi 快速入門例子 npoi簡單demo,快速入門 npoi認為excel的第乙個單元格是 0,0 柳永法 2010 5 8 22 21 41 public static void exporteasy datatable dtsource,string strfilename 填充內容 for...

把List資料匯出到excel

廢話不多說 看 獲取城市天氣情況 apioperation value 增加採集城市 notes 新增要採集的天氣城市,獲取天氣情況 設定第二行到最後一行的內容 int j 1 for map tempmap1 templist j 輸出excel檔案 response.setcharacteren...

把錶從Access匯出到Sql Server

1.前提條件 必須在本地的 odbc 中設定dsn 名,odbc 必須測試通過!可使用的幾種設定 odbc 方式 1 單機版 在建立odbc 的新的dsn時,選擇的資料來源用 sql server 2 網路版 1 在建立odbc 的新的dsn時,選擇的資料來源用 sql server 2 在建立od...