Ciao ragazzi, ho un nuovo quesito da porvi: dunque, sto realizzando un'applicazione WinForm in Visual C# che deve ricevere dati attraverso la porta seriale da un lettore RFID. Passando un transponder (una carta ISO 7816) su un'antenna collegata (tramite un ricevitore) alla COM2 trasmetto una stringa alfanumerica.
Il ricevitore è dotato di un led che, all'effettivo riconoscimento della carta, lampeggia: in questo caso so esattamente quando i dati vengono trasmessi alla seriale e sono pronti per essere utilizzati.
Usando la classe SerialPort ho implementato un programmino che, alla pressione di un button (btnConfBadge), stampa a video il codice alfanumerico letto dalla carta, secondo questo codice:
private void btnConfBadge_Click(object sender, EventArgs e)
{
try
{
if (serialPort1.IsOpen)
{
string letturaStringa = serialPort1.ReadLine();
if (letturaStringa == "")
tbBadge.Text = "Stringa vuota";
else
tbBadge.Text = letturaStringa;
}
}
catch
{
tbBadge.Text = "Errore";
}
btnConfBadge.Enabled = false;
}
Fin qui tutto bene. Volevo però chiedere se è possibile perfezionare il tutto evitando di passare per l'evento click del pulsante. In altri termini, è possibile fare sì che l'applicazione "resti sempre in ascolto" di ciò che arriva dalla seriale?
Ringrazio fin da ora chi mi saprà aiutare