Salut
J'ai des bases très basiques en C, et je suis tombé sur un truc que je ne comprends pas dans HardwareSerial::read :
int HardwareSerial::read(void)
{
// if the head isn't ahead of the tail, we don't have any characters
if (_rx_buffer->head == _rx_buffer->tail) {
return -1;
} else {
unsigned char c = _rx_buffer->buffer[_rx_buffer->tail];
_rx_buffer->tail = (_rx_buffer->tail + 1) % RX_BUFFER_SIZE;
return c;
}
}
Je ne comprends pas comment cette méthode, censée retourner un entier, peut retourner un char.
En plus, l'entier est sur 2 octets et le char sur 1.
A défaut de m'expliquer, si vous pouviez m'envoyer sur une page qui explique cette magie....
Merci !
David.