Dear All
i was receive project read data from com port using the console application and save same out put at desktop in txt file the com port we r using is way bridge comport
my code are as blew pls let me know wt change i do than i will read data from com port.
i was receive project read data from com port using the console application and save same out put at desktop in txt file the com port we r using is way bridge comport
my code are as blew pls let me know wt change i do than i will read data from com port.
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO.Ports;using System.Threading;using System.IO; namespace PortChat
{publicclass PortChat
{// private static StreamWriter sw = new StreamWriter("filename.txt");staticbool _continue;static SerialPort _serialPort;publicstaticvoid Main(string[] args)
{string name;string message;//string path = "";//// Write//string path = "example.txt";//string[] myMenu = { "A", "B", "C" };//File.WriteAllLines(path, myMenu);//// Read//string[] readMenu = File.ReadAllLines(path); StringComparer stringComparer = StringComparer.OrdinalIgnoreCase;
Thread readThread = new Thread(Read);// Create a new SerialPort object with default settings. _serialPort = new SerialPort(); // Allow the user to set the appropriate properties. _serialPort.PortName = SetPortName(_serialPort.PortName);
_serialPort.BaudRate = SetPortBaudRate(_serialPort.BaudRate);
_serialPort.Parity = SetPortParity(_serialPort.Parity);
_serialPort.DataBits = SetPortDataBits(_serialPort.DataBits);
_serialPort.StopBits = SetPortStopBits(_serialPort.StopBits);
_serialPort.Handshake = SetPortHandshake(_serialPort.Handshake); // Set the read/write timeouts _serialPort.ReadTimeout = 500;
_serialPort.WriteTimeout = 500;
_serialPort.DataReceived += new SerialDataReceivedEventHandler(_serialPort_DataReceived);
_serialPort.Open();
_continue = true;
readThread.Start(); //_serialPort.WriteLine("$");//Command to start Data Stream//// Wait for data or user input to continue.//Console.ReadLine();// Console.WriteLine("FILEPATH");// path = Console.ReadLine(); Console.Write("Name: ");
name = Console.ReadLine();
Console.WriteLine("Type QUIT to exit");while (_continue)
{
message = Console.ReadLine(); if (stringComparer.Equals("quit", message))
{
_continue = false;
}else
{
_serialPort.WriteLine(String.Format("<{0}>: {1}", name, message));
}
}
readThread.Join();
_serialPort.Close();
}staticvoid _serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
SerialPort _serialPort = (SerialPort)sender;
Console.WriteLine(_serialPort.ReadExisting());
} publicstaticvoid Read()
{while (_continue)
{try
{string message = _serialPort.ReadLine();
Console.WriteLine(message);
}catch (TimeoutException) { }
}
}publicstaticstring SetPortName(string defaultPortName)
{string portName="";
Console.WriteLine("Available Ports:");foreach (string s in SerialPort.GetPortNames())
{
Console.WriteLine(" {0}", s);
portName = s;
}//my code _serialPort.PortName = portName;
defaultPortName = portName;
Console.Write("COM port({0}): ", defaultPortName);
portName = Console.ReadLine(); if (portName == "")
{
portName = defaultPortName;
}return portName;
}publicstaticint SetPortBaudRate(int defaultPortBaudRate)
{string baudRate;
Console.Write("Baud Rate({0}): ", defaultPortBaudRate);
baudRate = Console.ReadLine(); if (baudRate == "")
{
baudRate = defaultPortBaudRate.ToString();
} returnint.Parse(baudRate);
}publicstatic Parity SetPortParity(Parity defaultPortParity)
{string parity;
Console.WriteLine("Available Parity options:");foreach (string s in Enum.GetNames(typeof(Parity)))
{
Console.WriteLine(" {0}", s);
}
Console.Write("Parity({0}):", defaultPortParity.ToString());
parity = Console.ReadLine(); if (parity == "")
{
parity = defaultPortParity.ToString();
} return (Parity)Enum.Parse(typeof(Parity), parity);
}publicstaticint SetPortDataBits(int defaultPortDataBits)
{string dataBits;
Console.Write("Data Bits({0}): ", defaultPortDataBits);
dataBits = Console.ReadLine(); if (dataBits == "")
{
dataBits = defaultPortDataBits.ToString();
} returnint.Parse(dataBits);
}publicstatic StopBits SetPortStopBits(StopBits defaultPortStopBits)
{string stopBits;
Console.WriteLine("Available Stop Bits options:");foreach (string s in Enum.GetNames(typeof(StopBits)))
{
Console.WriteLine(" {0}", s);
}
Console.Write("Stop Bits({0}):", defaultPortStopBits.ToString());
stopBits = Console.ReadLine(); if (stopBits == "")
{
stopBits = defaultPortStopBits.ToString();
} return (StopBits)Enum.Parse(typeof(StopBits), stopBits);
}publicstatic Handshake SetPortHandshake(Handshake defaultPortHandshake)
{string handshake;
Console.WriteLine("Available Handshake options:");foreach (string s in Enum.GetNames(typeof(Handshake)))
{
Console.WriteLine(" {0}", s);
}
Console.Write("Handshake({0}):", defaultPortHandshake.ToString());
handshake = Console.ReadLine(); if (handshake == "")
{
handshake = defaultPortHandshake.ToString();
} return (Handshake)Enum.Parse(typeof(Handshake), handshake);
}
}
}
the ouput are as below
when press enter
1 st output Available port name.
2nd out when press enter bound rate 9600.
3rd out when press enter Available parity.parity.
4th Data bite 8.
4th out when press enter Available stop bite.
5th out when press enter Available Handshake.
6th Name
7th Quit to exit