字元裝置控制
阿新 • • 發佈:2018-11-02
main()函式的引數
- main 函式作為應用程式的入口,在標頭檔案
#include<stdio.h>
中。 - main 函式需要傳引數的時候完整的定義為int main(int argc,char **argv)
- 引數 argc,表示引數的個數
- 引數**argv,儲存輸入字元的陣列
- argv[0]表示程式名稱
- argv[1]——argv[n]輸入的引數
Led燈
- Led 燈的裝置節點在/dev 目錄下
- 對於 IO 口(這裡的 IO 口指的是硬體上的 IO 口,不是指 IO 檔案)的操作,Linux 專門設計了一個高效的函式 ioctl。
- 這個函式在標頭檔案
#include<unistd.h>
中。 - int ioctl( int fd, int request, int cmd);
- 引數 fd,函式 open 返回的控制代碼
- 引數 request 和引數 cmd,由核心驅動決定具體操作,例如 request 可以代表那個 IO 口,cmd 代表對 IO 進行什麼樣的操作,也可以反過來。具體的含義由驅動工程師在驅動中 switch決定
- 返回值:返回 0 成功;返回-1,出錯
蜂鳴器Buzzer
和控制Led類似,也用到ioctl函式
ADC數模轉換
核心思想是開啟滑動變阻器,用read函式讀出數值並轉化為實際的電阻值