[ Dadamce @ 13.12.2005. 07:32 ] @
Posto sam nedavno instalirao vs 2005 pokusao sam da prepravim nesto sto sam davno radio, doduse u C- u. Imam potrebu da nesto posaljem na COM port i da primim odgovor. Video sam da je to moguce pomocu klase IO.Ports u .NET-u 2.

Uspeo sam da upisem bajtove na port ali nesto ne funkcionise preijem. Evo prilozicu kod pa ako neko moze da mi objasni, inace sam pocetnik u C#. Bio bih jako zahvalan ukoliko bi mi neko pomogao.

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 ProbaPorta
{
public partial class Form1 : Form
{
private SerialPort sp = new SerialPort("COM1", 4800, Parity.None, 8, StopBits.One);



public Form1()
{
InitializeComponent();
sp.ReadBufferSize = 4096;
//sp.DataReceived+= new SerialDataReceivedEventHandler(port_DataReceived);

}


private void button1_Click(object sender, EventArgs e)
{

char[] at = "AT".ToCharArray();
int i = 0, brc = at.Length ;
byte[] niz=new byte[brc];
while (i < (brc-1))
{
niz = Convert.ToByte(at);
i++;
}
niz[brc-1] = 0x0D;
sp.Open();
sp.Write(niz,0,brc);

//Dovde mi funkcionise i kada upise na modemski COM AT ja treba da dobijem odgovor OK koji zelim da prikazem u text boxu

sp.DataReceived+= new SerialDataReceivedEventHandler(port_DataReceived);
}

private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
int bytes = sp.BytesToRead;
byte[] buffers = new byte[bytes];
sp.Read(buffers, 0, bytes);

//Ovo ispod zakomentarisano sam probao jer sam nasao na microsoftovoj stranici da to funkcionise ali meni ne polazi za rukom

/*txtData.Text = txtData.Text+sp.ReadExisting();
MessageBox.Show(sp.ReadExisting().ToString());*/
}



}
}

Stvarno mi nije jasno zasto mi to ne funkcionise ??
Unapred zahvalan na pomoci!!