Buffer Serial, questo sconosciuto

Salve, leggendo diversi post sul buffer seriale di Arduino e la sua gestione, mi è venuto fuori un forte dubbio...

Ho sempre pensato che questo buffer (dichiarato in 64 bytes nella relativa pagina del Reference) fosse una implementazione hardware...

Leggo però che è possibile modificare la dimensione di questo buffer "manipolando" alcuni file di impostazione......

Vuoi vedere che il buffer seriale su Arduino è "di natura" software?
Se è così, mi viene da pensare subito alla RAM......

Ma vorrei conferme.

Grazie

Pensavi male, pensi bene ora. Da HardwareSerial.h (eliminate cose non rilevanti per l'argomento):

#define SERIAL_TX_BUFFER_SIZE 64
#define SERIAL_RX_BUFFER_SIZE 64

class HardwareSerial : public Stream
{
    unsigned char _rx_buffer[SERIAL_RX_BUFFER_SIZE];
    unsigned char _tx_buffer[SERIAL_TX_BUFFER_SIZE];

Con questo, se rifaccio il DEFINE nel mio sketch, posso anche ridurre ?

Teoricamente sì, perché le definizioni di cui sopra sono tra #ifdef. Però un tempo non avrebbe funzionato, per via di come Arduino gestiva gli #include. Oggi col nuovo builder, già integrato da un tot di versioni (credo dalla 1.6.8 o giù di lì) DOVREBBE funzionare. L'unica via certa però è provare ;).

Ciao, non volveo aprire un nuovo thread, ma essendo veramente novizio (mai avuto esperienze in ambito informatico) mi trovo con una quantità di informazioni che sto metabolizzando ed ogni tanto mi sembra di bracolare nel buoi ed essere dispersivo nella ricerca.

Spero di non essere offtopic.

Come posso approfondire e capire il concetto di "Buffer"? Quali articoli ed esercizi per allenarsi consigliate? Senza così disperdermi con la mole di informazioni presenti sul web?

Io solo questa mattina ho capito il significato di <<8 da questa domanda che ho trovato su Stack e sto studiando tutti i concetti che racchiude.

Tutto questo è nato dal fatto che ad un certo punto mi ero accorto che il mio codice che leggeva e scriveva su una sd i dati da un mpu6050 non era costante, ma aveva delle interruzioni, mi hanno fatto notare che il problema era legato all'uso delle stringhe così da li ho iniziato a cercare materiale on line ed ho studiato questo:

Grazie in anticipo per la pazienza :slight_smile: :slight_smile: :slight_smile: :slight_smile: