Terminale 232

  • RicSoft
  • Autore della discussione
  • Nuovo Utente
  • Nuovo Utente
Di più
12 Anni 1 Mese fa #1 da RicSoft
Terminale 232 è stato creato da RicSoft
Ciao a tutti,
sto cercando di scrivere un programma in Visual Basic .NET che funzioni da terminale 232 tra PC e PIC.
Il programma trasmette un pacchetto di 8 byte verso la scheda PIC e il PIC risponde con altrettanti byte in base alla richiesta.
I byte coprono un range da 0 a 255.
La seriale viene aperta -> COM1, 19200, 8bit, nessuna parità e un ReceivedBytesThreshold = 8
per evitare che ci possano essere problemi con il firmware del pic utilizzo le due seriali del PC e come secondo programma
il "RS232 Terminal 1.3.1" realizzato da Mauro Laurenti.
Dopo la lumghissima introduzione espongo il problema :(
il programma si comporta bene fino a quando non utilizzo all'interno del pacchetto il byte "1A" in Hex o "26" in Dec
ho provato componendo il pacchetto con tutte le possibili combinazioni, escludendo il suddetto byte, nessun problema :blink:
addirittura usando solo il byte "1A" parte l'evento di ricezione nonostante sia impostatto ReceivedBytesThreshold = 8 :evil:
cosa c'è che non va nel byte "1A"? :huh: Perchè non viene digerito dalla seriale?
Grazie per la vostra attenzione.

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Moderatore
  • Moderatore
Di più
12 Anni 1 Mese fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Terminale 232
...ti eri nascosto su altri Forum! :)

Prova ad utilizzare due RS232 Terminal, uno su porta.
Imposta il formato HEX in ricezione.

Aggiorna la versione a 1.3.2 (ci sono nuove funzioni)

Come primo terminal che usi?

Saluti,

Mauro

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • RicSoft
  • Autore della discussione
  • Nuovo Utente
  • Nuovo Utente
Di più
12 Anni 1 Mese fa #3 da RicSoft
Risposta da RicSoft al topic Re: Terminale 232
....In verità mi sono imbrigliato nella rete! :lol:

Ciao Mauro, grazie per avermi risposto.
Come primo terminal uso un programma scritto da me con le impostazione che avevo descritto nel post precedente.
Il mio problema cone dicevo riguardava la ricezione del carattere "1A" che a quanto pare sia un carattere di fine trasmissione (EOF) e quindi la SerialPort di VB.NET riavvia il conteggio della ricezione facendomi sballare il pacchetto composto da 8 byte.
Questo programma terminal mi servirà a mandare dei comandi (che contengono anche il byte "1A") ad una scheda con PIC16F877 di cui ho già realizzato il firmware.
Ho usato le due seriali del PC escludendo la scheda per poter testare il programma in modo sicuro, ho usato il mio programma terminal su COM1 e RS232 Terminal su COM2 impostandolo come hai detto tu con il formato HEX ;)

Saluti,

Raffaele

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Moderatore
  • Moderatore
Di più
12 Anni 1 Mese fa #4 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Terminale 232
Personalmente uso un counter e non la proprieta' ReceivedBytesThreshold.

Prova a ripetere lo stesso test con 2 RS232 Terminal.
Se funziona devi cambiare il software che hai scritto! :)

Saluti,

Mauro

Si prega Accesso o Crea un account a partecipare alla conversazione.

Moderatori: Mauro LaurentiStefA

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.