Thread obsoleto Porta seriale problema dati

EnigmaAren

Utente Normale
Autore del topic
7 Gennaio 2010
63
0
Miglior risposta
0
to letteralmente sclerando da tipo 5 ore dietro a sto programma.. Allora riassumendo (Anche perche sono abbastanza stanco vista l'ora)
il programma computer riceve dei dati via porta seriale, e questo benedetto programma dovrebbe comportarsi in maniera diversa a seconda del dato che arriva.
Facendo un esempio, se arriva il dato Esadecimale "551520375" allora esso deve azionare una canzone del mediaplayer.. Tramite .URL "Etcetc"
Dopo aver passato una nottata ho almeno fatto un passo avanti, capendo che il player non andava non perchè avessi sbagliato qualcosa nel codice per farlo avviare, ma perchè proprio non riesce a captare il codice esadecimale che gli arriva.. (Questo gli arriva dentro la text1)
Vi prego non chiedetemi "Ma quanti timer hai usato?" perchè non ci sto piu stando con la testa a ques'ora, e ho fatto un triliardo di prove.. Ecco perchè ne sto usando diversi, è per cercare di capire meglio dove sbaglio ma evidentemente non serve a nulla..

Se posso cercare di dare un mio parere, secondo me il problema sta nella ricezione del segnale.. Ovvero, come si vede dal codice io Memorizzo in una label ciò che mi arriva da seriale.. Giusto.. E poi questo dovrebbe essere letto da un timer ma il problema sta appunto qua, provando a fare altre prove con stringhe e non più numeri, il progrmma funziona.. ma quando provo a fare i test con gli effettivi valori uscenti dalla porta seriale, questo è come se non li sentisse.. Detto ciò, che caz ha sto programma che mi sta facendo fare due occhiaie così?!?!?!

"Private Sub Form_Load()MSComm1.PortOpen = True
End Sub


Private Sub Text2_Change()
Label1.Caption = Text2.Text
End Sub


Private Sub Timer1_Timer()
Text1.Text = MSComm1.Input
End Sub


Private Sub Timer2_Timer()
If Text1.Text = "" Then
Else
Label1.Caption = Text1.Text
End If
End Sub


Private Sub Timer3_Timer()
If Label1.Caption = "551520375" Then
MsgBox "Ciao"
Else
End If
 
Riferimento: Porta seriale problema dati

Il codice che hai scritto non dimostra nessun uso del component SerialPort, inoltre "non ci sto piu stando con la testa a ques'ora" alle 15:10 significa che non hai dormito bene o per niente, quindi non ragioni bene, di conseguenza ti consiglio di dormire un po'. :emoji_smiley:
 
Riferimento: Porta seriale problema dati

Diocleziano, La discussione è stata aperta stamattina alle 5, su un altro forum, solamente che come puoi ben immaginare non è che avessi tutta questa voglia di riscrivere daccapo la discussione, allora ho fatto copia incolla, sbaglio? Se vuoi cerca su internet e trovi l'altra discussione mia di stamattina io non posto qui xke non so se si può fare.
Seconda cosa, non dimostro uso del componente SerialPort? Scusa ma quando nel codice scrivo:
Text1.Text = MSComm1.Input
Che cosa ti sembra questo? Io boh, bisogna perforza commentare giusto per aumentare i commenti? Leggi bene prima di scrivere altre sciocchezze, grazie ;)
 
Riferimento: Porta seriale problema dati

Perfavore, Entra oppure Registrati per vedere i Link!
<= A questo link c'è un esempio ben scritto su come usare quel componente (che non è SerialPort: ho notato che è VB6 il tuo, quindi è Microsoft Comm 6.0, è stato un mio errore citarlo perché leggendo "porta seriale" non ho notato che era VB6). È piuttosto piccolo e semplice, quindi non c'è neanche da scoraggiarsi. Se non funziona non può essere che sulla porta seriale ci sia un problema nel senso che il numero non arriva proprio?
 
Riferimento: Porta seriale problema dati

Guarda.. ti dirò una cosa.. Non so che succede al mio pc, ma da praticamente 1 anno e passa, non riesco ad andare sul sito microsoft.. Quindi neanche MSDN, non mi trova il DNS quindi con microsoft e tutto ciò che è sulle sue pagine ho chiuso da 1 anno.. Purtroppo.. Comunque la cosa è piuttosto strana, perchè sulla seria arrivano i dati, lui li legge.. (Vb6) Ma quando poi dico al programma:
If Text1.Text = "551504055" Then
MsgBox "Ho ricevuto i dati"
End if
Non funzia.. Mentre se nella seria invio per esempio ciao, e scrivo in vb6:

If Text1.Text = "ciao" Then
MsgBox "Ho ricevuto i dati"
End if
Allora funziona.. Non capisco davvero quale sia il problema.. Come se non leggesse quei numeri, può percaso essere dovuto al fatto che quelli son numeri particolari, cioè numeri in formato esadecimale e quindi hanno bisogno di tutte quelle accortezze tipo 0xNumero Etcetc?

Chiunque legga questo topic e sappia come risolvere o ovviare a questo problema.. Può darmi una mano da qua:
Perfavore, Entra oppure Registrati per vedere i Link!
 
Ultima modifica:
Riferimento: Porta seriale problema dati

Guarda.. ti dirò una cosa.. Non so che succede al mio pc, ma da praticamente 1 anno e passa, non riesco ad andare sul sito microsoft.. Quindi neanche MSDN, non mi trova il DNS quindi con microsoft e tutto ciò che è sulle sue pagine ho chiuso da 1 anno.. Purtroppo.. Comunque la cosa è piuttosto strana, perchè sulla seria arrivano i dati, lui li legge.. (Vb6) Ma quando poi dico al programma:
If Text1.Text = "551504055" Then
MsgBox "Ho ricevuto i dati"
End if
Non funzia.. Mentre se nella seria invio per esempio ciao, e scrivo in vb6:

If Text1.Text = "ciao" Then
MsgBox "Ho ricevuto i dati"
End if
Allora funziona.. Non capisco davvero quale sia il problema.. Come se non leggesse quei numeri, può percaso essere dovuto al fatto che quelli son numeri particolari, cioè numeri in formato esadecimale e quindi hanno bisogno di tutte quelle accortezze tipo 0xNumero Etcetc?

Chiunque legga questo topic e sappia come risolvere o ovviare a questo problema.. Può darmi una mano da qua:
Perfavore, Entra oppure Registrati per vedere i Link!
Io farei una bella formattazione, ogni tanto ci vuole per mettere un po' le cose a posto :emoji_smiley:.
I numeri che invii sono in esadecimale, ma la variabile nella quale vengono salvati (integer per esempio) non li converte? Cioè, se ti arriva A, ti salva 10. Intendi?
 
Riferimento: Porta seriale problema dati

Bhe, ma io sto neanche dichiarando nessun tipo di variabile, cioè, io dico a vb6 di mettersi in ascolto sulla com2, successivamente deve scrivere su Text1 ciò che c'e sulla seriale..

Poi da qui dovrebbe partire il controllo, ma questo maledetto controllo, non mi funziona.. Comunque se puoi, entra nel sito che ti ho mandato, In pratica visualizzi il mio schermo, è un TeamWiever non so se conosci, così vedi meglio e magari riusciamo a trovare una soluzione migliore ;) Grazie :emoji_alien:
 
Riferimento: Porta seriale problema dati

Bhe, ma io sto neanche dichiarando nessun tipo di variabile, cioè, io dico a vb6 di mettersi in ascolto sulla com2, successivamente deve scrivere su Text1 ciò che c'e sulla seriale..

Poi da qui dovrebbe partire il controllo, ma questo maledetto controllo, non mi funziona.. Comunque se puoi, entra nel sito che ti ho mandato, In pratica visualizzi il mio schermo, è un TeamWiever non so se conosci, così vedi meglio e magari riusciamo a trovare una soluzione migliore ;) Grazie :emoji_alien:
Sto studiando storia dell'arte [OT](ma c sfaccimm e materia)[/OT], non posso. Leggiti la documentazione e riparti da 0.
 
Riferimento: Porta seriale problema dati

Il problema è proprio che non capisco che cavolo ha che non va..
 
Riferimento: Porta seriale problema dati

Sposto in assistenza tecnica ;)