Grazie della risposta,
avrei un'altra cosa:
l'if funziona sulla base della verifica della condizione.
Ma nella seguente funzione:
void i2c_start(uint8_t dev, uint8_t addr, uint8_t *data, unsigned count_write, unsigned count_read,
volatile bool *notify_ok, volatile bool *notify_err)
......
......
if (count_write) {
trans->state = 0;
i2c->D = trans->addr << 1;
}
else {
trans->state = 2;
i2c->D = (trans->addr << 1) | 1;
}
}
Come può funzionare con un unsigned?