Terminale ASCII e HEX per porta seriale.
Ultimo aggiornamento il di Oliver ReedTerminale SerialTool e Terminale Esadecimale
SerialTool mette a disposizione due strumenti dedicati per visualizzare i dati che transitano attraverso la porta seriale: il Terminale e il Terminale Esadecimale.
Terminale SerialTool
Il Terminale visualizza tutti i dati inviati e ricevuti attraverso la porta seriale, organizzati riga per riga.
A ogni porta può essere assegnato un colore specifico, rendendo semplice distinguere a colpo d’occhio diversi flussi di comunicazione.
È inoltre possibile visualizzare i dati in arrivo in diversi formati:
ASCII, Esadecimale (e combinazioni miste incluse CSV), Binario, Binary Nibble e Ottale.
Screenshot del Terminale
Il Terminale mostra tutti i dati inviati e ricevuti attraverso la porta seriale, organizzati riga per riga. A ogni porta può essere assegnato il proprio colore, rendendo immediatamente riconoscibili più flussi di comunicazione.
Digitare comandi in modalità Terminale
In modalità terminale puoi digitare i comandi direttamente dalla tastiera nell’area Type your command here. Ogni carattere digitato viene inviato immediatamente attraverso la porta seriale selezionata nella combo box (Serial in use).
Il comportamento del tasto Invio (Enter) è completamente personalizzabile: puoi scegliere
se inviare \n (LF), \r (CR) oppure una combinazione
come \r\n, a seconda delle esigenze del dispositivo con cui stai
comunicando.
Digita i comandi direttamente nell’area di input del terminale.
Se necessario, puoi cancellare rapidamente il contenuto corrente usando il pulsante Clear Type Area.
Modalità di funzionamento
Streaming Mode
In Streaming Mode, i dati appaiono su un’unica riga finché non viene ricevuto un carattere di terminazione
(per esempio \n — line feed, esadecimale 0x0A — oppure un terminatore personalizzato definito dall’utente).
Quando il terminatore viene rilevato, viene creata automaticamente una nuova riga.
Packet Mode
In Packet Mode, viene creata una nuova riga ogni volta che SerialTool rileva che un pacchetto è completo, ovvero quando è trascorso un numero configurabile di millisecondi dall’ultimo byte ricevuto.
Funzioni principali
- Evidenziazione delle righe con colori personalizzati per migliorare la leggibilità dei log.
- Marcatura automatica delle righe che iniziano, terminano o contengono uno specifico pattern di byte.
- Ricerca rapida di pattern per trovare byte specifici in tutte le righe ricevute.
- Barra di navigazione per esplorare velocemente l’intera cronologia dei dati trasmessi e ricevuti.
- Marcatura e filtraggio manuale per mostrare solo le righe di interesse.
Configurazione avanzata del Terminale
Tutto il comportamento del terminale può essere personalizzato tramite il menu Terminal Settings, accessibile con clic destro sul terminale.
Finestra delle impostazioni del Terminale con opzioni di configurazione avanzate.
Carattere di terminazione (Streaming Mode)
Scegli il carattere o la sequenza che definisce la fine di una riga.
Colori
- Personalizza i colori per migliorare visibilità e organizzazione.
Font
- Tre font integrati ottimizzati per la leggibilità del terminale.
- Possibilità di selezionare qualsiasi font di sistema.
- Regolazione della dimensione del font tramite CTRL + rotella del mouse.
- Configurazione della spaziatura tra i caratteri per una visualizzazione più chiara nelle analisi dettagliate.
Word-Wrap Mode
Consente la piena visibilità di tutti i caratteri esattamente come ricevuti, incluse sequenze normalmente non stampabili — ideale per il debugging di protocolli binari o personalizzati.
Indicatori di riga
- Indicatore automatico a freccia (↵) che mostra quando una riga è stata completata.
- Visualizzazione dei numeri di riga sul lato sinistro.
- Possibilità di includere timestamp all’interno dell’indice di riga.
Salvataggio automatico delle impostazioni
Tutte le opzioni di configurazione possono essere salvate e riutilizzate nelle sessioni successive, garantendo un flusso di lavoro coerente e personalizzato per ogni utente.
Hex Terminal – ASCII e HEX
I dati sotto forma di testi e numeri vengono utilizzati per programmare i dispositivi elettronici. Tuttavia i computer non comprendono il linguaggio umano: possono interpretare i dati solo sotto forma di 0 e 1. Per rendere i dati interpretabili da un computer vengono usati diversi sistemi di numerazione, come il sistema binario, quello ottale e quello esadecimale. Per rendere il testo comprensibile ai computer vengono utilizzati i codici ASCII. I convertitori interni si occupano di trasformare i dati da un formato all’altro. La conversione da esadecimale a ASCII è descritta di seguito. I computer fanno riferimento a una tabella ASCII standard.
Che cos’è il formato esadecimale?
Il sistema di numerazione esadecimale è un sistema di numerazione posizionale utilizzato per rappresentare i numeri. Utilizza sedici simboli per rappresentare i valori, da cui il nome “HEX”. I simboli utilizzati sono: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Il sistema esadecimale usa lettere dell’alfabeto come simboli insieme alle cifre numeriche. I simboli da ‘0’ a ‘9’ rappresentano i numeri da 0 a 9. I simboli da ‘A’ a ‘F’ rappresentano i numeri da 10 a 15. La rappresentazione esadecimale di un numero richiede quattro bit per ogni cifra.
Che cos’è un codice ASCII?
ASCII è l’acronimo di “American Standard Code for Information Interchange”. È una delle pietre miliari definite dall’IEEE.
Si tratta di uno standard di codifica dei caratteri per la comunicazione elettronica, usato per rappresentare lettere e simboli in computer e dispositivi elettronici.
L’ASCII è stato sviluppato negli Stati Uniti a partire dal codice telegrafico. La prima edizione dello standard ASCII è stata pubblicata nel 1963.
Ha subito diverse revisioni nel corso degli anni, e l’ultimo aggiornamento importante risale al 1986.
Il codice ASCII è basato sull’alfabeto inglese. Comprende 256 codici di caratteri, che includono 127 caratteri specificati.
Il codice ASCII è diviso in due insiemi: ASCII Standard e ASCII Esteso. L’ASCII Standard rappresenta caratteri come ‘a’–‘z’ e le cifre ‘0’–‘9’.
Questi vanno da 0 a 127 in decimale e da 00 a 7F in esadecimale. Sono anche conosciuti come caratteri stampabili.
I codici da 0 a 31 contengono caratteri di controllo assegnati al controllo delle periferiche e non sono stampabili.
I codici ASCII estesi contengono simboli e caratteri utilizzati in diverse lingue. Vanno da 128 a 255 in decimale o da 80 a FF in esadecimale.
I codici estesi, insieme ai codici di controllo dell’ASCII Standard, vengono usati in vari protocolli di comunicazione come RS-232, RS-485, RS-422, TTL.
Con il passare del tempo sono state introdotte molte modifiche all’ASCII per includere le lingue non inglesi.
Perché è così importante mostrare ASCII e HEX sulla porta seriale?
Gran parte della comunicazione seriale si basa su byte che non sono sempre stampabili. I caratteri stampabili vanno dal valore esadecimale 0x20 al valore 0x7F.
Per avere un’idea migliore dei caratteri ASCII stampabili puoi fare riferimento a questa tabella.
È qui che la stampa in formato HEX diventa fondamentale nelle comunicazioni seriali, e SerialTool ti permette di visualizzare contemporaneamente i byte in formato ASCII e HEX.
Con i corretti timestamp dei dati in ingresso e in uscita puoi individuare rapidamente i byte ricevuti e trasmessi tramite la porta seriale.
Questa è una funzione estremamente utile quando vuoi effettuare il debug della tua comunicazione seriale.
Ad esempio, se utilizzi l’Arduino Serial Monitor all’interno dell’IDE Arduino, non puoi vedere i byte in ingresso e in uscita a meno di creare le tue funzioni di "printf".
SerialTool ti aiuta in questo compito in modo semplice e immediato.
Panoramica dell’Hex Terminal
Il Terminale Esadecimale di SerialTool offre una vista potente e dettagliata di tutti i dati trasmessi e ricevuti attraverso la porta seriale. A differenza del terminale testuale standard, l’Hex Terminal organizza il flusso di byte grezzi in un formato strutturato e visivo, rendendolo ideale per sviluppatori, ingegneri e chiunque abbia bisogno di un’analisi precisa della comunicazione binaria.
Screenshot del Terminale Esadecimale
Visualizzazione strutturata Hex + ASCII
Ogni byte viene mostrato contemporaneamente in:
- Formato esadecimale
- Rappresentazione ASCII
- Offset / Indirizzi
Questa doppia rappresentazione ti permette di comprendere rapidamente sia la forma binaria grezza dei dati, sia la loro interpretazione leggibile. Gli intervalli di byte selezionati vengono evidenziati e possono essere copiati o analizzati tramite il menu contestuale.
Byte Visualizer – Esplora i byte in tutti i formati
Quando un byte è selezionato, il pannello laterale destro mostra il suo valore in tutti i formati rilevanti, tra cui:
- Byte originale (0xNN)
- int8_t / uint8_t
- ASCII
- UTF-8
- Binario
- Ottale
- Esadecimale
Questo rende l’Hex Terminal un ambiente completo per l’analisi dei byte: ogni byte ricevuto può essere immediatamente decodificato e analizzato senza strumenti esterni. Il Byte Visualizer integrato può anche mostrare la struttura del byte, la rappresentazione dei bit e visualizzare il flusso seriale (bit di start, dati, parità, bit di stop).
Configurazione avanzata e personalizzazione
L’Hex Terminal è altamente configurabile e può essere adattato a diversi flussi di lavoro e preferenze visive.
- Temi colore per byte, righe, evidenziazioni e marcatori di protocollo
- Colori alternati per le righe per migliorare la leggibilità
- Selezione del font, inclusi font monospaziati ottimizzati per viste esadecimali
- Controllo delle dimensioni del font e della spaziatura (regolabili con CTRL + rotella del mouse)
- Opzioni di visualizzazione Hex per attivare o disattivare dettagli
- Vista di Comunicazione Seriale per visualizzare bit e struttura del frame
Strumenti del menu contestuale
Facendo clic con il tasto destro su una selezione nell’Hex Terminal si apre un ampio menu contestuale con strumenti quali:
- Find (ricerca in Hex o ASCII)
- Copy Hex / Copy ASCII
- Copia in vari formati visivi (Hex Visual, Square, Curly, Char, ecc.)
- Remove Serial Colors
- Accesso diretto al ByteVisualizer
Integrazione con le sessioni
Sul lato sinistro, SerialTool integra la vista Session Packets, che ti permette di ispezionare i singoli pacchetti nel tempo. Ogni pacchetto è associato a un timestamp e può essere selezionato per un’ispezione dettagliata nel visualizzatore esadecimale.
L’Hex Terminal di SerialTool non è solo un semplice visualizzatore esadecimale: è uno strumento completo di analisi binaria progettato specificamente per la comunicazione seriale. Grazie alla visualizzazione avanzata, alla decodifica profonda dei byte e alle ricche opzioni di personalizzazione, offre tutto ciò che serve per un debugging preciso e per l’analisi dei protocolli.