C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[10]: C#2005XPのシリアル通信で受信するプログラム。


(過去ログ 26 を表示中)

[トピック内 12 記事 (1 - 12 表示)]  << 0 >>

■11721 / inTopicNo.1)  C#2005XPのシリアル通信で受信するプログラム。
  
□投稿者/ 大関 (3回)-(2007/12/20(Thu) 14:57:47)

分類:[C#] 

C#VS2005XPでシリアル通信でファイルに受信するプログラム方法がわからないのですが、
今超音波画像センサーを使っています。
このセンサーは16進数でたとえば02、40,40、87,04と入力すると、
約5800個の値が返ってきます。このプログラムと
これをファイルに出力する方法がわかりません。おしえていただけませんか??
引用返信 編集キー/
■11723 / inTopicNo.2)  Re[1]: C#2005XPのシリアル通信で受信するプログラム。
□投稿者/ επιστημη (733回)-(2007/12/20(Thu) 15:02:41)
επιστημη さんの Web サイト
ともかく つ【System.IO.Ports.SerialPort】
引用返信 編集キー/
■11761 / inTopicNo.3)  Re[2]: C#2005XPのシリアル通信で受信するプログラム。
□投稿者/ unyora (3回)-(2007/12/21(Fri) 04:14:18)
No11723 (επιστημη さん) に返信
> ともかく つ【System.IO.Ports.SerialPort】

シリアル通信なつかしい
昔仕事でvbでやってました
あのころはコントロールつかうんだったかな?
今でもシリアル通信はつかわれるんですねえ
引用返信 編集キー/
■11799 / inTopicNo.4)  Re[3]: C#2005XPのシリアル通信で受信するプログラム。
□投稿者/ 大関 (4回)-(2007/12/21(Fri) 13:03:59)
No11761 (unyora さん) に返信
> ■No11723 (επιστημη さん) に返信
>>ともかく つ【System.IO.Ports.SerialPort】
>
> シリアル通信なつかしい
> 昔仕事でvbでやってました
> あのころはコントロールつかうんだったかな?
> 今でもシリアル通信はつかわれるんですねえ
引用返信 編集キー/
■11800 / inTopicNo.5)  Re[4]: C#2005XPのシリアル通信で受信するプログラム。
□投稿者/ 大関 (5回)-(2007/12/21(Fri) 13:08:39)
一様このように組んでみたのですが。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;

namespace 三次元超音波画像ユニットセンサ
{
public partial class Form1 : Form
{
private byte[] myData;
private byte[] rcvData;
public Form1()
{
InitializeComponent();
serialPort1.PortName = "COM1";
serialPort1.BaudRate = 57600;
serialPort1.DataBits = 8;
serialPort1.StopBits = StopBits.One;
serialPort1.Parity = Parity.None;
serialPort1.PortName = "COM1";
if (serialPort1.IsOpen == true)
{
serialPort1.Close();
}
try
{
serialPort1.Open();
}
catch
{
MessageBox.Show("RS232Cポート1が接続されていません");
}
}

private void button1_Click(object sender, EventArgs e)
{
myData = new byte[5];
myData[0] = Convert.ToByte(textBox1.Text);
myData[1] = Convert.ToByte(textBox2.Text);
myData[2] = Convert.ToByte(textBox3.Text);
myData[3] = Convert.ToByte(textBox4.Text);
myData[4] = Convert.ToByte(textBox5.Text);
serialPort1.Write(myData, 0, 5);
}

private void button2_Click(object sender, EventArgs e)
{
myData = new byte[5];
myData[0] = Convert.ToByte(textBox1.Text);
myData[1] = Convert.ToByte(textBox2.Text);
myData[2] = Convert.ToByte(textBox3.Text);
myData[3] = Convert.ToByte(textBox4.Text);
myData[4] = Convert.ToByte(textBox5.Text);
serialPort1.Write(myData, 0, 5);
}

private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
string result;
rcvData = new byte[5];
serialPort1.Read(rcvData, 0, 5);
result = rcvData[0];
textBox6.Text = result;
}
}
}

これを最初に述べたようにつくるにはどうしたらいいでしょうか?
引用返信 編集キー/
■11801 / inTopicNo.6)  Re[5]: C#2005XPのシリアル通信で受信するプログラム。
□投稿者/ επιστημη (739回)-(2007/12/21(Fri) 13:15:47)
επιστημη さんの Web サイト
×> 一様このように組んでみたのですが。
○> 一応このように組んでみたのですが。

> これを最初に述べたようにつくるにはどうしたらいいでしょうか?
これでセンサーをコントロールできているんですよね?
だったらセンサーから得られた結果をファイルに書きだすダケですよね?
それともセンサーがいうこと聞いてくれないのでしょうか?

引用返信 編集キー/
■11807 / inTopicNo.7)  Re[6]: C#2005XPのシリアル通信で受信するプログラム。
□投稿者/ 大関 (6回)-(2007/12/21(Fri) 15:22:03)
No11801 (επιστημη さん) に返信
> ×> 一様このように組んでみたのですが。
> ○> 一応このように組んでみたのですが。
>
>>これを最初に述べたようにつくるにはどうしたらいいでしょうか?
> これでセンサーをコントロールできているんですよね?
> だったらセンサーから得られた結果をファイルに書きだすダケですよね?
> それともセンサーがいうこと聞いてくれないのでしょうか?
>
誤字の修正ありがとうございます。

センサーからの応答もないのですが、ファイル出力もわかりません。
先のプログラムは、PC−PCでハイパターミナルを使って受信はしたんですけど、
センサーからの応答はきません。
要領は一緒だとおもうのですが、よくわかりません。
引用返信 編集キー/
■11810 / inTopicNo.8)  Re[7]: C#2005XPのシリアル通信で受信するプログラム。
□投稿者/ 大関 (7回)-(2007/12/21(Fri) 15:27:13)
今大学の研究で基盤を渡されて、これやってって言われてやっているだけなので、
他で扱っているかは、わからないですねぇ。
C#触れたことないから、わからずじまいです・・・

引用返信 編集キー/
■11811 / inTopicNo.9)  Re[7]: C#2005XPのシリアル通信で受信するプログラム。
□投稿者/ επιστημη (741回)-(2007/12/21(Fri) 15:30:17)
επιστημη さんの Web サイト
> センサーからの応答もないのですが、ファイル出力もわかりません。
> 先のプログラムは、PC−PCでハイパターミナルを使って受信はしたんですけど、
> センサーからの応答はきません。

要するに何一つ進展していない、と。
センサーとの通信スペックは正しいですか?
57600bps 8bit, non-parity, 1-stopbit ですか?

コネクタはちゃんと接続されていますか?
RX,TX,DT,DR等の結線に誤りはありませんか?

センサーとハイパーターミナルとを接続することはできますか?
できるなら、その結果はどうですか?

などなどやらにゃならんことは山ほどありますが。

引用返信 編集キー/
■11818 / inTopicNo.10)  Re[8]: C#2005XPのシリアル通信で受信するプログラム。
□投稿者/ 片桐 (57回)-(2007/12/21(Fri) 16:48:05)
片桐 さんの Web サイト
ハイパーターミナルで、実際に英数字を打ち込んで答えは返ってきてますか?
まずは手動で、データを送る→データを受け取る、ができることを確認してからですね

シリアルポートのオブジェクトをその時のハイパーターミナルの設定と同じにするのがまずひとつ。

シリアル通信のシーケンス(コードのやりとり順番)についての決まり等は無いですか?
Writeした後で、ある文字を送らないといけないとか、そういうの。

データ仕様が判らないと、闇雲に作っても動かないと思いますです。
引用返信 編集キー/
■11822 / inTopicNo.11)  Re[9]: C#2005XPのシリアル通信で受信するプログラム。
□投稿者/ HiJun (85回)-(2007/12/21(Fri) 18:01:20)
送信するデータは、02、40,40、87,04のデータのみでしょうか?
STX/ETXではさまなければいけないとか規約がありませんか?
引用返信 編集キー/
■11826 / inTopicNo.12)  Re[10]: C#2005XPのシリアル通信で受信するプログラム。
□投稿者/ 774RR (107回)-(2007/12/21(Fri) 18:26:25)
STX=02 EOT=04 だと思うが

ケーブルの仕様があっていない (クロス/ストレート) に1票
それ以前に EIA574 (RS232) についてまったくわかっていないに1票

EIA-574(RS-232) は単につなげば動作するような代物ではない
正しい接続ケーブル+設定をうまく選ばないと動作しないぞ
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -