ciao,
per quanto ne so io ti basta cambiare i parametri della classe, come BaudRate, DataBits etc...ma puoi usare ugualmente la classe "SerialPort".
Io ad esempio, avevo un telefonino collegato via usb che rispondeva ai comandi AT, quindi avevo un metodo generico che utilizzavo sempre:
public static string InviaComando(string comando)
{
string ritorno = string.Empty;
if (!comando.EndsWith("\r\n"))
comando += "\r\n";
try
{
if(!portaCOM.IsOpen)
portaCOM.Open();
//--- svuoto il buffer
portaCOM.ReadExisting();
portaCOM.Write(comando);
Thread.SpinWait(30000);
//--- leggo il buffer di risposta della com
//--- e provo ad aspettare 1po se non mi torna niente
ritorno = portaCOM.ReadExisting();
if (string.IsNullOrEmpty(ritorno))
{
Thread.Sleep(500);
//--- rileggo il buffer di risposta della com
ritorno += portaCOM.ReadExisting();
}
if (!string.IsNullOrEmpty(ritorno))
{
if (ritorno.StartsWith("\r\n"))
ritorno = ritorno.Substring("\r\n".Length, (ritorno.Length - 2));
}
}
catch (Exception ex)
{
....
}
return ritorno;
}
che chiamavo direttamente ad esempio con:
//Chiede le morie disponibili
string lettura = InviaComando("AT+CPMS=?");
e via così.
Ovviamente nel costruttore impostavo i vari valori che mi interessavano, in modo che funzionasse correttamente.
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo