• 締切済み

タブレットでUSB経由でcsvデータを取り込みたい

アンドロイドタブレットで、USB経由で測定器から流れ込むcsvデータを取り込み、あとでパソコンに転送したいと思っています。 具体的には三和計測器のクランプメータI0R-500のデータをI0R-USBと言う機器から取り込みたいと思ってます。 http://www.sanwa-meter.co.jp/prg_data/goods/img/PH31359941812.pdf 以下仕様の転記です。 通信方式は、UART (Universal Asynchronous Receiver Transmitter) ポート設定は次のようになります。 ボーレート 9600bps データビット 7bit ストップビット 1bit パリティビット ODD (奇数) フロー制御 なし (PC 側からRTS のみ制御します) ターミナルコード CR+LF (0DH+0AH) 既存のアプリは無いでしょうか。

みんなの回答

  • fx602p
  • ベストアンサー率36% (89/242)
回答No.1

少しは頭を使ったら? Googleストアで「シリアル ターミナル」でヒットするけど。 他人にやらせるのじゃなくあれこれ試してから聞きに来い! 説明ではPCのテラターム等のソフトを使えとあるが?それでの動作確認が先だと思うけどね。

関連するQ&A

  • パリティビット有無での速度

    初めまして、現在私はLINUX PCで 開発環境QTを使用しプログラムを組んでいます。 今回シリアル通信の速度について疑問が生まれましたので質問させていただきました。 ボーレート値:230400bps データ長:8bit で通信を行っているのですが、 今回の仕様としまして10秒ごとに190011バイト送信するようなプログラムを組んでいます。 また190011バイトを受信するようなプログラムも作成しています ノンパリティ設定で そこで処理速度を見ていると、 送信側のプログラムで、最初のデータ送信開始から最後のデータ終了までの時間を見ると9300msでした 受信側は9400msでした。 次にパリティビット有の設定で、上記と同じ試験を行ったのですが、送信側の処理速度が9300ms 受信側は9400msでした。 質問ですが、パリティを付加すると今回の場合で行くと190011バイトを10秒ごと(一気に送信は到底無理なので分けて送信しています)に送信するので、パリティビットが付加されると、単純に190011ビット増えることになります。今回のボーレート値は230400bpsなので、パリティ有とパリティなしでは0.7秒も差があることが計算でわかりました。 しかし今回の値を見るとさほど時間が変化していないことがわかりました。 そのようなことがあるのかわかりません。理由があるのならばわかりたいと思い質問させていただきました。 どうかよろしくお願いします。

  • AVRマイコン UART動作異常

    AVRマイコンのATmega168にてPCとRS-232Cにてシリアル通信(UART)を行うと最初のスタートビット'L'が正常に出ず、スタートビット'L'の後すぐに'H'に戻ってその後データビットを送っています。2回目以降のスタートビットは正常に'L'が指定したボーレートの時間幅で出ており、問題はありません。最初のスタートビットが正常に出ない原因がわかりませんので教えてください。 システムクロック:1MHz(内部発振器のみ) ボーレート:4800bps データビット数:8bit ストップビット数:1bit パリティビット数:なし -------------------------------------------- #include <avr/io.h> #include <util/delay.h> #include <avr/pgmspace.h> #define sbi(addr,bit) addr |= (1<<bit) #define cbi(addr,bit) addr &= ~(1<<bit) void port_init(void){ PORTB = 0xFE; DDRB = 0xFF; asm("NOP"); } void uart_init(void){ sbi(DDRD,1); cbi(DDRD,0); asm("NOP"); } void uart_putchar(unsigned char c){ loop_until_bit_is_set(UCSR0A,UDRE0); // asm("NOP"); UDR0 = c; } void _delay_1s(void){ int i; for(i=0;i<100;i++){ _delay_ms(10); } } int main(void) { port_init(); uart_init(); UCSR0B = _BV(TXEN0); UCSR0C = 0b00000110; UBRR0H = (uint8_t)0; UBRR0L = (uint8_t)12; while(1) { uart_putchar(0b01011010); _delay_1s(); } return 0; } -----------------------------------------------

  • 高速シリアル通信での大容量のデータ転送について(mscomm)

    現在高速シリアル通信のプログラムを作成しています。なかなか検索で いろいろと探しているのですがデータ容量が増えるとどうしてもサンプル プログラムで同じ結果になってしまいます。 どういう現象かといいますと10000バイトぐらいのデータを転送するとどう してもデータ上のかけ落ちが発生します。 ボーレート:38400 or 19200bps データビット:8Bit パリティ:なし ストップビット:1Bit フロー制御:XonXoffRTSCTSあり データはバイナリィ転送です。 ==>送信側のプログラムでは以下通りです。   'バイナリデータファイルを読み込み For i& = LBound(bytBuf) To UBound(bytBuf) bytedata(LineCnt) = bytBuf(i&) If (LineCnt < 255) Then '255バイトずつ分割して送信 bytedata(LineCnt) = bytBuf(i&) Else 'タイマー処理(wait制御) MSComm1.Output = bytedata LineCnt = 0 bytedata(LineCnt) = bytBuf(i&) End If LineCnt = LineCnt + 1 Next i& 'WAIT掛けたり分割してデータを転送したり一括でデータを転送したり 行っています。 ==>受信側では以下の通りとなっております。 Select Case MSComm1.CommEvent    Case comEvReceive '受信データの取得 Buffer = MSComm1.Input 'あとはバイトデータを結合させて                    'おります。 データの送信や受信について教えていただきたいのですが特に受信側で 私が思うのでは送信データが早すぎて受信側が追いついていない状態 と思うのですが・・・ なにかいい方法や参考になるホームページ等がありましたら伝授お願いします。

  • シリアル通信の原理について

    シリアル通信の調歩同期式は、「伝送を開始する際にまずスタートビットを送り、続いて一文字分のデータ(7~8ビット)、パリティビット、最後にストップビットを送る。」と多くのウェブサイトで解説されていると思います。 またビットレートも1200bps/2400bps/4800bps/9600bps・・・など複数あると思います。 上記仕様については理解しているのですが、これらを実現する具体的な仕組みが分かりません。 具体的には、 1.受信側は送信側のビットレートをどのように知るのでしょうか? 2.同様にデータが7ビットと8ビットのどちらであるかをどうやって判断するのでしょうか? 3.受信側は送られてきたデータのビットを1バイト毎にレジスタやメモリに格納すると思うのですが、1つのプログラムにつきどこからどこまでが該当のデータであるかをどうやって判断するのでしょうか?(送られてくる全体のデータサイズをどうやって知るのでしょうか?) ググっても上記の具体的な解説が見つからず、理解できずにおります。 ご回答どうぞよろしくお願いします。

  • SerialPortで期待バイト数が送りきれない

    C#(VS2005)でSerialPortクラスのWriteで4790byteを指定して一括で送りましたが相手に届いたのが2624byteしか送れませんでした。 通信条件 ボーレートは、19200 データ長は、8 パリティは、無 XON/OFFは、無 信号制御は、無 垂れ流し状態です。

  • シリアルデータの取り扱いについて

    シリアルデータの取り扱いについて 教えてください。 私は今、カメラで撮影された画像をパソコンで表示したいと思っています。 ネットや出版されている本など、参考になりそうなものを探しているのですが、 探し方が下手なのか、理解が足りないのか今の自分に反映できません・・・。 カメラからはパラレルデータとして画像データが出力されています。 また、その他同期信号等も出力されています。 画像データをFPGAを使い、パラシリ変換してシリアルデータを確認するところまではできています。 しかし、 ここで解決できない問題があります。 変換されたシリアルデータは1Mbpsの速度で出力したいのですが、 これをパソコンにどのような方法で入力したらいいのか、さっぱりわかりません。 (上でシリアルデータ確認と書いているのは、確認のためにビットレートを下げて(9600bpsなど) USB変換モジュール(名前を思い出せません・・・)を使い、UART通信を行うことでパソコンを使い確認できました。) どなたかわかる方がいましたら、アドバイスをお願いいたします。

  • ハイパーターミナルによるRS-232C通信

    仕事の関係でアラーム用PCからRS-232Cで受けた信号を特型I/Fユニットで分配して4つの業務用機器を制御するというこの特型I/Fを発注したのですが 現場に納めたところうまく動作していないと言われ近日中に動作チェックをしたいのですが当方営業職なものでやり方がよくわかりません。 (製作元ではアラーム側と同じ信号を出してI/Fから信号がでることを確認済) ハイパーターミナルを使えばできそうだということなのですがどうすればいいのでしょうか。 わかりやすいサイトなど教えて頂けないでしょうか。 USBに接続するD-sub9ピンの変換コネクタは持っています。 通信プロトコルの規格は以下になります。 非同期:転送レート9600kbps:データ長7ビット:ストップビット1ビット:パリティ偶数:フロー制御RTS/CTS(ケーブル端末処理) 動作確認したいことは下記です。 1:アラームPC側から11バイト長のメッセージが送られてくるらしいので、PCと直接繋いでコマンドが正常にきているか受信したい。 2:1が正常なことを確認できた上で特型I/Fの出力から同様のコマンドが出るのかを確認したい 3:アラームPCのかわりにノートPCを繋いでメッセージを送信したい。 他に必要な情報あれば指摘下さい。 よろしくお願いします。

  • COPYコマンドによるシリアル通信

    MS-DOSのCOPYコマンドでCOM1にコピーし、RS232Cで接続したもう一台のパソコンにファイルを転送したく、いろいろ試しているのですができません。どなたかご教授願います。下記の設定で実験を行うと、PC2で”エラー 読み取り中 デバイスCOM1”というエラーが起きます。 com1の設定  ボーレート 9600  パリティ   なし  データ   8  ストップ  1  フロー   なし  PC1 copy filename com1  PC2 copy com1 filename  RS232Cの配線 PC1のTXD,RXDをPC2のRXD,TXDにそれぞれ接続し、PC1のRTSとPC1のCTSを接続。PC2も同じくRTS,CTSを接続しました。PC1のRTS,CTSとPC2のRTS,CTSのそれぞれの接続はもう行っており、失敗しました。GNDはGND同士で接続しました。

  • 最大キャラクタ数について

    調歩同期式(非同期式)のシリアルデータ転送において、転送速度4800bps、ストップビット2ビット、キャラクタビット8ビット、偶数パリティの時の1フレーム転送時間を求めよ。また、1秒間に転送できる最大キャラクタ数を求めよ。 という問題です。 転送時間は2.5msと求めることができたのですが、最大キャラクタ数が求め方がわかりません。 詳しく教えて下さい。 お願いします。

  • teratermではシリアル通信出来るのですが・・

    現在アームロボットをPCからシリアルで送って制御するプログラムを作りたいと思っております。 現在Teratermからコマンドを送ってアームロボットが動く事は確認出来ております。 ただ、そこからC#にてプログラムを作成して動かそうとするとどうしてもコマンドを受け付けてくれません。 Teratermの設定は  ボーレート9600bps  データ長8bit  パリティnone  ストップビット 1bit  フロー制御 non です。 これで接続して「NT」と打ってリターンを押すと ロボットが原点復帰動作をします。 一方C#では  SerialPort port = new System.IO.Ports.SerialPort("COM2",9600,Parity.None,8,StopBits.One);  port.Open();  port.Write("NT");  port.Close();  port.Dispose(); と記述して実行しますが動きません。 改行コードが怪しいと思い、teratermで改行コードを CRからCR+LFに変更してみましたが問題なく動きます。 teraterm以外にもシリアル通信チェッカーv4.1.0 を試しましたが動きませんでした。 teratermは何か特別な仕様なのでしょうか? 何か見落としている設定項目ありますでしょうか? どうぞアドバイスよろしくお願い致します。