Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. Visual Studio 6.0
C# porta seriale COM
martedì 17 maggio 2011 - 14.16
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
marks886
Profilo
| Newbie
3
messaggi | Data Invio:
mar 17 mag 2011 - 14:16
ciao a tutti,
ho un problema con la porta seriale in c#.
In pratica ho creato il codice per leggere in continuo dalla porta seriale una serie di caratteri (provenienti da una bilancia elettronica) solo che mi ritorna sempre un valore vuoto.
Questo è il codice:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
using System.Threading;
namespace bilancia
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Thread threadDoorOpener;
SerialPort serialPort = new SerialPort();
private void Form1_Load(object sender, EventArgs e)
{
Thread.Sleep(1000);
string[] ports = SerialPort.GetPortNames();
serialPort.PortName = "COM4";
serialPort.BaudRate = 9600;
serialPort.DataBits = 8;
serialPort.StopBits = StopBits.One;
serialPort.Parity = Parity.None;
if (serialPort.IsOpen) serialPort.Close();
threadDoorOpener = new Thread((new ThreadStart(this.DoorOpener)));
threadDoorOpener.Name = "alfa";
threadDoorOpener.Start();
}
public void DoorOpener()
{
while (true)
{
serialPort.Open();
serialPort.DtrEnable = true;
string data = "";
while (serialPort.BytesToRead > 0)
{
data += Convert.ToChar(serialPort.ReadByte());
}
txt1.Text = data.ToString();
Thread.Sleep(1000);
serialPort.Close();
}
}
}
}
la variabile data è sempre vuota. Riuscite a dirmi se il codice è giusto?
Grazie a tutti
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mar 17 mag 2011 - 14:20
>ciao a tutti,
>ho un problema con la porta seriale in c#.
>In pratica ho creato il codice per leggere in continuo dalla
>porta seriale una serie di caratteri (provenienti da una bilancia
>elettronica) solo che mi ritorna sempre un valore vuoto.
Ciao,
ho esperienza in questo tipo di cosa. La prima cosa che ti chiedo è, siamo sicuri che la bilancia è attivata per esportare sulla seriale i dati ? A volte ci sono degli switch da attivare se no di default non esce niente.
Hai provato a collegarti sulla porta con un terminale tipo Putty, e verificare come prima cosa se escono dati ?
Ciao
David De Giacomi | <empty>
http://blogs.dotnethell.it/david/
marks886
Profilo
| Newbie
3
messaggi | Data Invio:
mar 17 mag 2011 - 14:28
La bilancia manda una stringa di testo (ho già configurato tutto sul terminale) solo che non riesco a leggere.
Il codice che ho fatto è giusto?
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mar 17 mag 2011 - 14:31
>La bilancia manda una stringa di testo (ho già configurato tutto
>sul terminale) solo che non riesco a leggere.
>Il codice che ho fatto è giusto?
Rispondi prima a ciò che ti ho chiesto.
Tu hai configurato tutto, ma sei sicuro che arrivano i dati ?
Se non sei sicuro conviene verificare.
I punti critici sono diversi:
1) Hai attivato l'invio sulla bilancia, sei sicuro che l'hai attivato correttamente ?
2) L'hai attivato ma c'è qualcos'altro da attivare che ignori
3) il cavo funziona
4) il codice è scritto correttamente
Io vorrei verificare i punti 1) e 2) prima poi il 3) e infine al 4)
Se noi ci concentriamo sul 4) ma in realtà il problema è prima perdi un sacco di tempo per niente (come già mi è successo)
Scarica il software Putty e collegati alla COM della bilancia. Se vedi che arivano i dati poi passiamo al punto 4)
Ciao
David De Giacomi | <empty>
http://blogs.dotnethell.it/david/
marks886
Profilo
| Newbie
3
messaggi | Data Invio:
mar 17 mag 2011 - 15:08
ho risolto, adesso funziona.
ho messo semplicemente nel codice serialPort.ReadLine() e mi ritorna il risultato giusto.
Cmq grazie di tutto non sapevo che con putty si poteva leggere dalle porte com
Grazie e scusa il disturbo
ciao
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !