Я разрабатываю приложение на C # для сбора информации с последовательного порта.У меня проблема в том, что приложение не читает точно ту же информацию, которую я читаю с гипертерминала.
У меня вопрос, есть ли у кого-нибудь эта проблема? Какие свойства я могу проверить из моего приложения?что может быть причиной этой проблемы?Я хочу скопировать конфигурацию порта, которая у меня есть в гипертерминале, в мое приложение.
Спасибо за вашу помощь.
void recibir(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
Thread.Sleep(0250);
string crudo = sptSerial.ReadExisting();
if (crudo.Equals("\0\0\0\0\0\0\0\0"))
{
MessageBox.Show("ERROR DE LECTURA","Control Toyota",MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
string binario = "";
string binarioFinal = "";
string binarioProcesado = "";
int numero = 0;
string info = convertAsciiTextToHex(crudo);
binario = hex2binary(info);
binarioProcesado = completarPaquete(binario);
//binarioFinal = binarioProcesado.Substring(10, 16);
if (flagCompletado == 1)
{
binarioFinal = binarioProcesado.Substring(5);
}
else
{
if (binarioProcesado.Length > 20)
{
binarioFinal = binarioProcesado.Substring(5);
}
else
{
binarioFinal = binarioProcesado.Substring(4);
}
}
numero = ToDecimal(binarioFinal);
csTarjeta tarjeta = new csTarjeta();
string x = "";
string y = "";
try
{
tarjeta = csMTRSerial.armarPersona(numero);
}
catch (Exception ex)
{
MessageBox.Show("ERROR COMUNICANDO CON LA BASE DE DATOS\n" + ex.Message);
}
try
{
tarjeta.sUbicacion = csMTRSerial.devolverPosicion();
x = tarjeta.sUbicacion.Substring(11, 10);
x = x.Replace(",", ".");
y = tarjeta.sUbicacion.Substring(0, 10);
y = y.Replace(",", ".");
}
catch (Exception ex)
{
MessageBox.Show("ERROR COMUNICANDO CON EL GPS\n" + ex.Message);
}
if (tarjeta.sValido == 1)
{
lblAviso.Text = "";
lblNombre.Text = "Nombre: " + tarjeta.sNombre;
//lblApellido.Text = "Apellido: " + tarjeta.sApellido;
lblNroTarjeta.Text = "Nro. de Tarjeta: " + tarjeta.sNroTarjeta.ToString();
MemoryStream stream = new MemoryStream(tarjeta.sFoto);
picFoto.Visible = true;
picFoto.Image = Image.FromStream(stream);
stream.Dispose();
stream.Close();
lblAviso.BackColor = Color.Green;
lblAviso.Text = "TARJETA VALIDA";
lblAviso.ForeColor = Color.Black;
}
else
{
lblNombre.Text = "";
lblNroTarjeta.Text = "";
picFoto.Visible = false;
lblAviso.BackColor = Color.Red;
lblAviso.Text = "TARJETA NO VALIDA";
lblAviso.ForeColor = Color.White;
}
csRuta ruta = new csRuta();
ruta.sID = idRuta;
ruta.sNombre = nombreRecorrido;
csMTRSerial.insertarFichada(tarjeta.sNroTarjeta, tarjeta.sNombre, tarjeta.sValido, x, y, nombreRecorrido);
flagCompletado = 0;
}
}