Arjun Dhilod

Arjun Dhilod

  • 958
  • 812
  • 106.1k

comport data reader problem

Dec 15 2012 4:26 AM
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO.Ports;
using System.IO;



namespace PortDataReceived
{
    class Program
    {
        static void Main(string[] args)
        {
            SerialPort mySerialPort = new SerialPort("COM1");
            if (mySerialPort.IsOpen == true) mySerialPort.Close();
            mySerialPort.BaudRate = 2400;
            mySerialPort.Parity = Parity.None;
            mySerialPort.StopBits = StopBits.One;
            mySerialPort.DataBits = 8;
            mySerialPort.Handshake = Handshake.None;
            mySerialPort.Open();
            Console.WriteLine("Press any key to continue...");
            Console.WriteLine();
            mySerialPort.ReadTimeout = 500;
            string indata = mySerialPort.ReadExisting();
            if (string.IsNullOrEmpty(indata))
            {
                FileStream fs = new FileStream(@"c:\arjun.txt",FileMode.Append,FileAccess.Write);
                try
                {
                   
                    StreamWriter sw = new StreamWriter(fs);
                    sw.WriteLine("0");
                    sw.Close();
                }
                finally
                {
                    fs.Close();
                }
               
            }
            else
            {
                StringBuilder builder = new StringBuilder();
                for (int i = 0; i < indata.Length; i += 8)
                {

                    string section = indata.Substring(i, 8);

                    int ascii = 0;
                    try
                    {
                        ascii = Convert.ToInt32(section, 2);
                    }
                    catch
                    {
                        Console.WriteLine("Current Weight : " + section.ToString());
                        FileStream fs = new FileStream(@"c:\arjun.txt", FileMode.Append, FileAccess.Write);
                        try
                        {
                            StreamWriter sw = new StreamWriter(fs);

                            foreach (char c in section)
                            {
                                if (Char.IsLetterOrDigit(c))
                                {
                                    builder.Append(c);
                                }
                            }

                            sw.WriteLine(builder.ToString());
                            sw.Close();
                            break;
                        }
                        finally
                        {
                            fs.Close();
                       
                        }

                    }
                  
                }
            }
           // Console.WriteLine(builder.ToString());
            Console.WriteLine(indata);
            Console.WriteLine("Data Received:");
            Console.Write(indata);
            Console.ReadKey();
            mySerialPort.Close();
        }
    }
}



hello all the above is my code in this code i am read data from com port but problem is i was received 6 to 7 zero than received actual data from comport i was not under  what was problem in my code pls let me know i was very thank full to all.