- Messaggi: 59
- Ringraziamenti ricevuti 0
Inviare byte multipli via usart
12 Anni 10 Mesi fa #6
da gcupini
Risposta da gcupini al topic Re: Inviare byte multipli via usart
ciao
Per inviarli con la funzione che tu citi, putUSART() e che io non conosco, Immagino tu debba ricomporre una con i sette caratteri.
Alcune tue osservazioni non mi sono chiarissime, le mie conoscenze mi dicono che una variabile carattere contiene senpre un codice da 0 a 255.
L'invio della stringa di caratteri non dovrebbe darti probleni. Eventualmente la stampa se ci sono caratteri non stampabili.
Se proprio li devi stampare come caratteri, Dopo la ricezione dovrai filtrare i caratteri della stringa e stamparli nel formato da te desiderato. Es. li puoi stampare come numeri da 0 a 255 oppure esadecimali 0x00 a 0xff oppure filtri i caratteri stampabili e li stampi.
Se non ho capito scusami
Saluti
Per inviarli con la funzione che tu citi, putUSART() e che io non conosco, Immagino tu debba ricomporre una con i sette caratteri.
Alcune tue osservazioni non mi sono chiarissime, le mie conoscenze mi dicono che una variabile carattere contiene senpre un codice da 0 a 255.
L'invio della stringa di caratteri non dovrebbe darti probleni. Eventualmente la stampa se ci sono caratteri non stampabili.
Se proprio li devi stampare come caratteri, Dopo la ricezione dovrai filtrare i caratteri della stringa e stamparli nel formato da te desiderato. Es. li puoi stampare come numeri da 0 a 255 oppure esadecimali 0x00 a 0xff oppure filtri i caratteri stampabili e li stampi.
Se non ho capito scusami
Saluti
Si prega Accedi o Crea un account a partecipare alla conversazione.
- gcupini
- Visitatori
12 Anni 10 Mesi fa #7
da sharky
Risposta da sharky al topic Re: Inviare byte multipli via usart
ciao!
grazie della risposta, a giudicare da cio che hai scritto credo che tu abbia capito cosa devo fare..
putusart é compresa nelle funzioni della libreria usart.h di c18...
comunque la mia difficoltá sta nel ricomporre la stringa con i sette caratteri...
cioé se io avessi da mandare questo ad esempio: 40 43 4F 41 58 59 46 sarebbe semplice perche la stringa equivalente sarebbe "@COAXYF" e mi basterebbe usare putUSART("@COAXYF"); per inviare i dati sulla seriale..
il problema sta nel fatto che alcuni caratteri non hanno il corrispondente ascii, percio se io ad esempio dovessi inviare il seguente codice: AA BB CC DD EE FF non riuscirei a comporre la stringa da inviare via usart..
spero di essermi spiegato..
grazie
ciao
igor
grazie della risposta, a giudicare da cio che hai scritto credo che tu abbia capito cosa devo fare..
putusart é compresa nelle funzioni della libreria usart.h di c18...
comunque la mia difficoltá sta nel ricomporre la stringa con i sette caratteri...
cioé se io avessi da mandare questo ad esempio: 40 43 4F 41 58 59 46 sarebbe semplice perche la stringa equivalente sarebbe "@COAXYF" e mi basterebbe usare putUSART("@COAXYF"); per inviare i dati sulla seriale..
il problema sta nel fatto che alcuni caratteri non hanno il corrispondente ascii, percio se io ad esempio dovessi inviare il seguente codice: AA BB CC DD EE FF non riuscirei a comporre la stringa da inviare via usart..
spero di essermi spiegato..
grazie
ciao
igor
Si prega Accedi o Crea un account a partecipare alla conversazione.
- sharky
- Autore della discussione
- Senior Member
Riduci
Di più
12 Anni 10 Mesi fa #8
da gcupini
Risposta da gcupini al topic Re: Inviare byte multipli via usart
ciao,
Non so quale linguaggio usi per inviare e codificare le stringhe?
ECCO COME FAREI IN c
char V[7]; // Vettore di caratteri coincide con stringa
const char *ST; // Variavile di tipo stringa in C
V[0]=0x0F; // Assegni i singoli caratteri al vettore
V[1]=68; // nel formato preferito numero 0..255 es. 68='D' or
V[2]='A'; // esadecimale 0x0F=15 non stampabile or 'A' carattere stamp
// eccetera
ST=V; // Ora assegni il vettore ad una stringa costante oppure ti tieni il vettore V
char ch0=ST[0]; // come puoi notare ST è ancora un vettore e contiene
char ch1=ST[1]; // i caratteri immessi
char ch2=ST[2]; //
// ora se avessi la tua FUNZIONE FAREI
putUSART(V);
//oppure
putUSART(ST);
// eccetera
saluti
Non so quale linguaggio usi per inviare e codificare le stringhe?
ECCO COME FAREI IN c
char V[7]; // Vettore di caratteri coincide con stringa
const char *ST; // Variavile di tipo stringa in C
V[0]=0x0F; // Assegni i singoli caratteri al vettore
V[1]=68; // nel formato preferito numero 0..255 es. 68='D' or
V[2]='A'; // esadecimale 0x0F=15 non stampabile or 'A' carattere stamp
// eccetera
ST=V; // Ora assegni il vettore ad una stringa costante oppure ti tieni il vettore V
char ch0=ST[0]; // come puoi notare ST è ancora un vettore e contiene
char ch1=ST[1]; // i caratteri immessi
char ch2=ST[2]; //
// ora se avessi la tua FUNZIONE FAREI
putUSART(V);
//oppure
putUSART(ST);
// eccetera
saluti
Si prega Accedi o Crea un account a partecipare alla conversazione.
- gcupini
- Visitatori
12 Anni 10 Mesi fa #9
da Gianni
Sono tutti bravi ad essere "open" con il "source" degli altri.
Un amico è colui che ti dice sempre quando stai sbagliando. Il mio miglior amico è il parser.
SettoreZero
Risposta da Gianni al topic Re: Inviare byte multipli via usart
Scusa ma che c'è di difficile nel fare:
char variabile[]={0xAA,0xBB,0xCC,0xDD,0xEE,0xFF};
putsUSART(variabile);
Ok alcuni caratteri non sono stampabili a video, ma hanno un codice ascii? Il problema è che molti dimenticano che una stringa "@CIAO" non è altro che un array, un vettore, una sequenza di bytes, come lo volete chiamare voi insomma... E come array va trattato.
char variabile[]={0xAA,0xBB,0xCC,0xDD,0xEE,0xFF};
putsUSART(variabile);
Ok alcuni caratteri non sono stampabili a video, ma hanno un codice ascii? Il problema è che molti dimenticano che una stringa "@CIAO" non è altro che un array, un vettore, una sequenza di bytes, come lo volete chiamare voi insomma... E come array va trattato.
Sono tutti bravi ad essere "open" con il "source" degli altri.
Un amico è colui che ti dice sempre quando stai sbagliando. Il mio miglior amico è il parser.
SettoreZero
Si prega Accedi o Crea un account a partecipare alla conversazione.
12 Anni 10 Mesi fa #10
da gcupini
Risposta da gcupini al topic Re: Inviare byte multipli via usart
ciao Gianni,
hai perfettamente ragione!
Sono stato un po' prolisso per pedanteria. Ma spero sia stao utile.
Saluti
hai perfettamente ragione!
Sono stato un po' prolisso per pedanteria. Ma spero sia stao utile.
Saluti
Si prega Accedi o Crea un account a partecipare alla conversazione.
- gcupini
- Visitatori
Moderatori: Mauro Laurenti, Pinna, StefA, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.