タグ付けされた質問 「drivers」

2
プログラムはどのくらい正確にデバイスドライバーと通信しますか?
プログラマーがコンピューター上のデバイスとどのように話しているのか、私は混乱しています。今、私は大きなアイデアを話していません。さまざまなプログラムがその機能を使用できるように、ハードウェアの上にあるデバイスドライバーがあることを知っています。 しかし、一般的に誰がドライバーと正確に話しますか?アプリケーションの作成者は、ドライバーの関数を呼び出す責任がありますか?または、プログラマーは、ドライバーへの呼び出しを処理するオペレーティングシステムを介して関数を呼び出しますか?
12 hardware  drivers 

8
デバイスドライバーが必要になるのはいつですか、いつポートに直接読み書きしても問題ありませんか?
デバイスドライバーが必要な場合や、OSが提供するシリアル/パラレル/ USBなどを介してポートコントローラーと直接通信するだけで問題ない場合は、理解に苦労しています。運転者。 たとえば、例1:OpenBCIを見てみましょう。これは、EEG + EKG( "brainwave")の読み取り値を読み取ることができるオープンソースのハードウェアBCIです。OpenBCIヘッドセットは、マシンに接続されたUSBドライブにRF信号を送信し、独自のソフトウェアを記述して、そのポートに着信するデータを読み取ることができます。したがって、自分の脳波を読み取って、アプリ層で脳波データを解釈することができます。かなりクール。「ストリーミング」脳波データを読み取るには、シリアルポートから読み取るだけでなく(OSが提供するシリアルドライバーを使用)、OpenBCI仕様に従ってデータを解釈する必要があります。したがって、スタックは次のようになります。 しかし、ここには、OpenBCIヘッドセットに固有の「デバイスドライバー」はありません。データのバイトを読み取るために必要なシリアルドライバーだけで、アプリ内からこれらのバイトの意味を解釈する必要があります。したがって、たとえば、Javaアプリで脳波データを解釈したい場合は、JSerialCommを使用してローカルCOMポート(またはローカルシステム上のUSBが何であれ)からデータを読み取ることができます。その後、上記の仕様に従ってデータを調査するのは私のアプリ次第です。 さて、例2:このような Logitech USBウェブカメラ。ここでは、Webカメラのデバイスドライバーをマシンにインストールして使用できるようにする必要があります。なぜだろう。このWebカメラのピン配置が愚かで単純だったとしましょう(ちょっと " 信じます! "ボタンを押します)。 PIN # Meaning =================== 1 Power 2 Ground 3 Send data (if 1 then the camera will start "streaming" its video data over data pins) 4 Data pin 1 5 Data pin 2 これはOpenBCIと同様にUSBデバイスです。では、なぜUSB /シリアルポートに直接読み書きする(これもおそらくJSerialCommなどを使用する)だけのアプリ(どの言語でも)を作成できないのでしょうか。私はアプリがウェブカメラの映像データの取得を開始したい場合は、私はシリアルポートにバイトを送信する(再び JSerialCommなどを経由して)回しピン#3高/後ピン4と5からのビデオデータを読み始める上、およびこと。 OpenBCIがデバイスドライバーを持たない、または必要としないのに対し、Webカメラ(またはプリンター、マウス、キーボードなどの他の標準USBデバイス)が備えている理由が理解できないと思います。前もって感謝します!
8 drivers  usb 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.