[Mono-list] SerialPortTest
Orfeo
orfeo.davia at gmail.com
Thu Mar 5 08:35:39 EST 2009
sojan wrote:
>
> the code is as follows please have a look
>
> using System;
> using System.IO.Ports;
>
> public class SerialPortTest
> {
> public static void Main(string[] args)
> {
> SerialPortTest myTest = new SerialPortTest();
> myTest.Test();
> }
>
> private SerialPort mySerial;
>
> // Constructor
> public SerialPortTest()
> {
> }
>
> public void Test()
> {
> if (mySerial != null)
> if (mySerial.IsOpen)
> mySerial.Close();
>
> mySerial = new
> SerialPort("/dev/ttyS0",9600,System.IO.Ports.Parity.None,8,System.IO.Ports.StopBits.One);
> mySerial.Open();
> mySerial.ReadTimeout = 400;
> SendData("ATI3\r");
>
> // Should output some information about your modem
> firmware
> Console.WriteLine(ReadData());
> }
>
> public string ReadData()
> {
> byte tmpByte;
> string rxString = "";
>
> tmpByte = (byte) mySerial.ReadByte();
>
> while (tmpByte != 255) {
> rxString += ((char) tmpByte);
> tmpByte = (byte) mySerial.ReadByte();
> }
>
> return rxString;
> }
>
> public bool SendData(string Data)
> {
> mySerial.Write(Data);
> return true;
> }
> }
>
>
> Orfeo wrote:
>>
>>
>> sojan wrote:
>>>
>>> I got a sample code for serial port communication.
>>> i compiled the code using gmcs Serialport.cs
>>>
>>> when i execute the exe as mono Serialport.exe
>>>
>>> getting the following exception
>>>
>>> Unhandled Exception: System.IO.IOException: I/O Error
>>> at System.IO.Ports.SerialPortStream..ctor (System.String portName,
>>> Int32 baudRate, Int32 dataBits, Parity parity, StopBits stopBits,
>>> Boolean dtrEnable, Boolean rtsEnable, Handshake handshake, Int32
>>> readTimeout, Int32 writeTimeout, Int32 readBufferSize, Int32
>>> writeBufferSize) [0x00000]
>>> at (wrapper remoting-invoke-with-check)
>>> System.IO.Ports.SerialPortStream:.ctor
>>> (string,int,int,System.IO.Ports.Parity,System.IO.Ports.StopBits,bool,bool,System.IO.Ports.Handshake,int,int,int,int)
>>> at System.IO.Ports.SerialPort.Open () [0x00000]
>>> at (wrapper remoting-invoke-with-check)
>>> System.IO.Ports.SerialPort:Open ()
>>> at SerialPortTest.Test () [0x00000]
>>> at SerialPortTest.Main (System.String[] args) [0x00000]
>>>
>>> help me to solve this
>>> thanks in advance
>>>
>>
>> How did you open the port?
>>
>> In linux you must use "/dev/ttyS0" as port name:
>> -----
>>
>> System.IO.Ports.SerialPort serialport = new
>> System.IO.Ports.SerialPort("/dev/ttyS0",
>> br,
>> System.IO.Ports.Parity.None,
>> 8,
>> System.IO.Ports.StopBits.One);
>> ------
>>
>>
>>
>
>
Well, the code seems correct: are you belong to uccp group?
$>cat /etc/group| grep yourname
$>uucp:x:14:yourname
--
View this message in context: http://www.nabble.com/SerialPortTest-tp22324797p22351735.html
Sent from the Mono - General mailing list archive at Nabble.com.
More information about the Mono-list
mailing list