conversione binario-decimale

Salve a tutti!
Vado subito al sodo....Sono riuscito ad inviare tramite altra scheda elettronica(nel mio caso diglient Nexys2) ad Arduino una stringa di bit. In particolare uno start bit, 8 di informazione e uno stop bit. Premesso che sono alle prime armi, volevo sapere se qualcuno ha qualche suggerimento da darmi per la conversione di questa stringa di bit in intero, soprattutto visto che il primo e ultimo bit li devo ignorare visto che sono start e stop. Qualche suggerimento??

Buona serata a tutti!

Lo sai che 8 bit sono un byte? :wink:

Non ho capito come ricevi quella sequenza di dati.

Se usi la seriale sui pin 0 e 1 di Arduino UNO é il circuito che gestisce la seriale che automaticamente toglie i bit di start e stop e eventuali bit di paritá. Ricevi un numero di un Byte.

Ciao Uwe

Appunto. La mia era una domanda retorica :smiley:

Certo che so che 8 bit sono un byte...ma la nexys me l'hanno data già programmata in modo che mi invii 10 bit per dato, compresi start e stop bit, dopo aver premuto un pulsante sulla scheda...ho collegato la nexys ai pin 10 e 11 di Arduino...quello che volevo sapere era se Arduino ignora i due bit e mi permette di gestire solo gli 8 dell'informazione...

corner86:
.ho collegato la nexys ai pin 10 e 11 di Arduino...quello che volevo sapere era se Arduino ignora i due bit e mi permette di gestire solo gli 8 dell'informazione...

Quello che stai descrivendo è il normale pacchetto dati inviato da una UART, non devi fare altro che collegare la tua Digilent alla UART di Arduino, ovvero i pin 0 e 1, devi incrociare tra loro il Tx della Digilent con l'Rx di Arduino e viceversa.
Dopo di che non devi fare altro che aprire la comunicazione seriale di Arduino con la corretta velocità di trasmissione usata dalla Digilent.
Attenzione che con il pin Rx di Arduino impegnato dal Tx della Digilent non puoi programmare Arduino, devi scollegarlo, in alternativa puoi usare la software serial che ti permette di creare una UART virtuale collegata ai pin che preferisci di Arduino, però è limitata nella massima velocità di comunicazione gestibile.

astrobeed:
in alternativa puoi usare la software serial che ti permette di creare una UART virtuale collegata ai pin che preferisci ...

Astro,
ho idea che stia già usando la SoftwareSerial dato che ha collegato la scheda ai pin 10 e 11 ...

corner86:
... ho collegato la nexys ai pin 10 e 11 di Arduino ...

:wink:

Guglielmo

gpb01:
Astro,
ho idea che stia già usando la SoftwareSerial dato che ha collegato la scheda ai pin 10 e 11 ...

Se è così allora non capisco di cosa stia parlando visto che in questo caso ottiene direttamente il dato utile.

astrobeed:
Se è così allora non capisco di cosa stia parlando visto che in questo caso ottiene direttamente il dato utile.

... e infatti non lo capisco neanche io ... :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes:

Guglielmo

parlavo solamente di ignorare i due bit e convertire gli 8 dell'informazione in decimale..

corner86:
parlavo solamente di ignorare i due bit e convertire gli 8 dell'informazione in decimale..

E' una normale trasmissione dati seriale, non c'è nulla da eliminare o convertire in quanto ci pensa la UART a fornirti direttamente il dato.