• 締切済み

c言語の記述で困っています。

c言語の記述で困っています。 USBは、メッセージベースの通信バスであるため、PCとUSBデバイスが通信を行う際は、コマンドとデータをテキストまたはバイナリ形式で送受信しています。各USBデバイスには固有のコマンドセットがあります。USBデバイスからの応答を読み取るにはRead/Write関数を使用して、それらのコマンドを計測器に送る必要があると思いますが、具体的にreadやwriteでどのようにc言語で記述したらいいのかわかりません。分かりやすいサンプルやホームページ等ありましたら教えて下さい。よろしくお願いします。 ちなみに、私が使用しているUSBデバイスのコマンドはhexです。

みんなの回答

回答No.2

相手が計測器であるなら、まず間違いなく(USB といいつつ)通常のシリアルポート(COM ポート)をエミュレートする形になっているはずです。 アスキーモードであれば、ターミナルソフト(Windows 標準のハイパーターミナルでも、COMx への直接接続でなんとかなります)で、動作が確認できますから、まず動かしてみるのがおすすめです。 COM ポートとして取り扱いできれば、たとえば、 http://www.nest4.net/tec/winrs.html なんかも、通信用のライブラリとして使えるかもしれません。

  • ohtawa
  • ベストアンサー率23% (9/38)
回答No.1

(1)USB規格を知っていいるだけでは課題をC言語で記述できません (2)USBチップ,パソコン側のドライバ,ドライバをアクセスするためのDLL    を決める必要があります    サンプルといっても上記の選択によって違うと思います (3)私の場合    (3.1)USBチップも含んだmicrochip社のdemobordを購入    (3.2)ドライバーとDLLは同demobord付属のもの    (3.3)開発統合環境は同社のMPLAB(無料)    (3.4)コンパイラは同社のC18(無料)    (3.5)同demobordにブートローダが付属しているので         IC焼付けはそれを利用しました    つまりキット以外はすべて無料ですませました    なおコンパイラ出力はhexもあります 蛇足:うでだめしにEXCELからUSBアクセスできるDLLを作ったことあります

関連するQ&A

  • 「~言語で記述する」という英語表現

    情報処理を専門にしている方、また英語を専門にしている方、『(任意の)データを(任意の)言語で記述する』といった場合の英語表現について、お聞きしたいと思います。 この「データ」というのは、アルゴリズム、テーブル、コードなど、何かの言語で記述する対象のものであれば何でも構いません。 また、「言語」も、プログラミング言語を始め、問い合わせ言語やマークアップ言語など、コンピュータ言語であれば何でも構いません。 本題ですが、「~記述する」という英語表現には、"written in * language"と"described in * language"の2通りが考えられると思います。 「記述言語(=description language)」「記述子(=descriptor)」などにあるように、記述は"describe"として使用されています。 しかし、具体例として「C++言語で記述する」をグーグルで検索すると・・・。 (1) "described in C++ language"(=18件)、"written in C++ language"(=1,140件) (2) "described in BASIC language"(=1件)、"written in BASIC language"(=835件) (3) "described in SQL"(=3,490件)、"written in SQL"(=26,800件) 以上のように、圧倒的にwrittenの方が多く使用されていることが明確となっています。 現場ではwrittenを決まった用語として使用されているのでしょうか? 「書く(=write)」の名詞形がないために、名詞として使用する場合は"description"となっているのかと思われますが、そうであるならば動詞で使用する場合も、"describe"を使用されるべきだと思うのですが、何か根拠はあるのでしょうか? よろしくお願いします。 ちなみに、wikipediaの言語に関する項目も、日本語では「記述された」は英語版では「written」となっています。

  • RS-232Cのコマンドについて

    はじめまして。 RS-232C通信にて計測器からデータを取得します。 計測器の仕様では、 『呼び出しコマンドが「0x08」でデータが吐き出されます。 ハイパーターミナルで言えば、Ctrl + H のコマンドです。』 と記載されています。 VB6.0のMSCommコントロールを使用して、コマンドを送出して、データを得たいです。 この場合、コマンド送出はどのように記述すればよいのかわかりません。 MSComm.Output = "H" ← Hですか?? コマンドの意味を理解できていなくて、困っています。 初心者でお恥ずかしい質問ですが、教えてください。 宜しくお願いします。

  • C#で記述されたマイクロソフトの製品について

    C#言語に興味を持っている。マイクロソフトはC#の使用を推奨しているようである。 Windowsの記述言語はC.C++、アセンブラであろう。 オフィスはBASICで記述されているだろう。 C#により、記述されているマイクロソフトの(開発言語以外の)製品はあるのか。 教えて下さい。

  • C言語の記述ミス防止

    C言語で組込み系のソフトを開発しています。 ルネサスのマイコンRL78でエミュはCS+を使用しています。 switch-case文でbreakを書き忘れてfallthroughを起こしました。 break忘れを防止する記述方法はないでしょうか? MISRA-Cを導入すれば良いですが、それ以外の手段を探しています。 宜しくお願いします。

  • C言語中でunixのコマンドを使いたい

    c言語でプログラムを作ってるんですが、カレントディレクトリ名や、ある名前のファイルが存在するかどうかや、あるファイル中にある文字列があるかどうかなどの判定を行いたいんですが、cで一から記述すると長くなりそうなので、pwcやfind、grepといったコマンドをc言語中で実行でると便利だと思ったんですが、そんな事ってできますかね?

  • C言語でファイルの中身をソートするコマンド

    unixのsortのようなコマンドはC言語にあるのでしょうか。 配列のソートではなくてファイルに対してのコマンドです。 sortをsystem()で使用すれば良いのでしょうが、C言語のコマンドにあると聞きました。おそらくunix関連のC言語のコマンドだと思うのですが。

  • エクセルのVBA記述のことについて

    エクセルでVBAを記述するのにはいちいちコマンド等を打つ必要があるのでしょうか。既にコマンド、関数等が入っているもの(ライブラリというのですか?)はあるのでしょうか。あとC言語等についてもプログラムの記述にはコマンド等を簡単に呼び出せる方法があると聞きましたが、どの様に入手するのでしょうか。それらはライブラリと呼ぶのですか。

  • PIC16F84AのデバイスでC言語を用いて音を出したい

    PIC16F84AデバイスでCCS社のCコンパイラーを用いて音を出したいのですが、C言語の記述が分かりません。 音は、圧電ブザーで、Bポートの1つを使います。 Aポートの1つにスイッチを取り付け、スイッチが入ったら、音を鳴らしたいのですが、C言語で音階が記述できるんでしょうか? 簡単で良いので、C言語で、音を鳴らす記述を教えていただけないでしょうか?

  • c言語ネットワークプログラミングのAPIを乗せているwebページないですか?

    現在私はC言語でソケット通信を使って サーバとクライアントでメッセージのやり取りをおこなってみたいと思っているのですが どのライブラリのどの関数を使って通信できるのか全くわかりません。 (例えば、readの返り値ってなにを返すんだろう?とか) できればunix上(SunOS)でのc言語ネットワークプログラミングに関する APIが乗っているURLを教えていただけないでしょうか?(できれば日本語のwebページがいいです。)

  • C言語をはじめるにあたって

    今から初めてみようと思っています。 C言語をするにあたって記述ソフトとコンパイルソフトが必要みたいなのですが どのソフトを使用したらいいのかわかりません。 ダウンロードしても使用方法がわかりませんでした。 初心者で勉強程度ができるソフトを紹介していただきたいです。 使用しているOSはWindows7の64bitです。 よろしくお願いします。