1. 程式人生 > >字元裝置控制

字元裝置控制

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函式讀出數值並轉化為實際的電阻值