我一直在玩,以調製波的不同創造C.在我的項目的下一步是從一個MIDI鍵盤控制器讓用戶輸入使用數學波函數的聲音音高。çLinux設備編程 - 從/ dev
我的第一個觀點是,這將是相對簡單和Linux上,Linux的存在,可以讓我從我的設備就像我對任何其他文件中讀取原始數據流。
然而,絕大多數的研究建議,我寫的MIDI控制器的設備驅動程序。一般的想法是即使設備文件可能存在,當我的應用程序調用像read()和write()這樣的函數時,內核也不會知道要執行什麼系統調用。
儘管有這些警告,我做了一個實驗。我插入MIDI控制器並捕捉「/ dev/midi1」設備文件。出現了穩定的空字符流,當我在MIDI控制器上按下一個鍵時,幾個字節出現對應於MIDI設備應該輸出的預期消息塊。 MIDI Protocol Info
所以我的問題是:
爲什麼cat'ed流這樣的行爲?
這是否意味着我的系統中已經安裝了即插即用設備驅動程序?
如果我還是繼續寫一個設備驅動程序,或者我可以讀取它像一個文件脫身?
非常感謝您在這些領域分享您的智慧。
而不是cat'ting它,我會建議你從'C'程序讀取()設備。你說你看到'有效'的數據,爲什麼不能確定?順便說一句,那裏必須有一個設備驅動程序,否則你不會有設備文件,也不會有方法訪問它。 – KevinDTimm