Hi guys i have problem i make code that take data from serial com port for weighting machine
it is ok working but it recieve data in more lines.I try to make it recieve data in one line
and convert it to int but i cannot do it.
can any one help me in ths
I work in visual studio 2005
output result from program is:
[] 10
[] 20
[]30
[]360
as above
What i need is
360 without any charachter and recieve data in same line asyncronus then convert to int
meaning requirment i need is
1- asyncronus what i need in same line
2-and convert to integer
please help me
I will attach screen shoot of output and source code in program
Loading
ahmed saPosted Mar 8, 2014, 4:11 AM
using System.Windows.Forms;
using System;System.IO.Ports;
namespace CommSample
{
public partial class Form1 : Form{
{
InitializeComponent();
}
public Form1()///{
InitializeComponent();
}
void Application_Idle(object sender, EventArgs e)"[Open]" : "[Closed]";///{
label3.Text = serialPort1.IsOpen ? "[Open]" : "[Closed]";}
private void button1_Click(object sender, EventArgs e)if (pollingCheckbox.Checked)true;else{
if (pollingCheckbox.Checked){
timer1.Enabled = true;
}
else
{
timer1.Enabled=false;
TransmitCommand();
}
}
private void TransmitCommand()
{
if (textBox1.Text.Length > 0)
{
if (serialPort1.IsOpen)
{
serialPort1.Write(textBox1.Text + "\r");
}
}
}
private void ClosePort(){
if (serialPort1.IsOpen)
{
serialPort1.DataReceived -=
serialPort1.Close();
}private void closePortToolStripMenuItem_Click(object sender, EventArgs e)
{
ClosePort();
}private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
Close();
}
private void Form1_Load(object sender, EventArgs e)
{
serialPort1.PortName = Properties.Settings.Default.Port;
serialPort1.BaudRate = Properties.Settings.Default.Baud;
serialPort1.DataBits = Properties.Settings.Default.DataBits;
serialPort1.Parity = (Parity)Enum.Parse(typeof(Parity), Properties.Settings.Default.Parity);
serialPort1.StopBits = (StopBits)Enum.Parse(typeof(StopBit),Properties.Settings.Default.StopBits);
Application.Idle += new EventHandler(Application_Idle);}
private void OpenPort(){
serialPort1.Open();
serialPort1.DataReceived += new SerialDataReceivedEventHandler(serialPort1_DataReceived);
}
private
{
OpenPort();
}
private void optionsToolStripMenuItem_Click(object sender, EventArgs e)
{
ClosePort();
using (Form2 form = new Form2())
{
if (form.ShowDialog(this) == DialogResult.OK)
{
serialPort1.PortName = Properties.Settings.Default.Port;
serialPort1.BaudRate = Properties.Settings.Default.Baud;
serialPort1.DataBits = Properties.Settings.Default.DataBits;
serialPort1.Parity = (Parity)Enum.Parse(typeof(Parity), Properties.Settings.Default.Parity);
serialPort1.StopBits = (StopBits)Enum.Parse(typeof(StopBits), Properties.Settings.Default.StopBits);
}
}
}
void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e){
if (!InvokeRequired)
{
if (e.EventType == SerialData.Chars)
{
string portData = serialPort1.ReadExisting();
textBox2.AppendText(portData);
}
}
else
{
SerialDataReceivedEventHandler invoker = new SerialDataReceivedEventHandler(serialPort1_DataReceived);
BeginInvoke(invoker,new object[] { sender, e });
}
}
private void pollingCheckbox_CheckedChanged(object sender, EventArgs e){
if (timer1.Enabled && !pollingCheckbox.Checked)
{
timer1.Enabled = false;
}
}
private void timer1_Tick(object sender, EventArgs e){
if (pollingCheckbox.Checked)
{
TransmitCommand();
}
}
}