Desconfio que esteja relacionado à biblioteca do K Wong. Nela, há uns comandos, me parece, colocando o Arduino como escravo da placa AD7705. Mas não entendo muito bem desses comandos. Vejam bem, ele usa um comando "spiTransfer()" (em vez do SPI.transfer()) que está no arquivo .h:
byte spiTransfer(volatile byte data) {
SPDR = data;
while (!(SPSR & _BV(SPIF)));
return SPDR;
}
E no arquivo .cpp ele usa uma outra linha que não entendo (a última abaixo):
AD770X::AD770X(double vref) {
VRef = vref;
pinMode(pinMOSI, OUTPUT);
pinMode(pinMISO, INPUT);
pinMode(pinSPIClock, OUTPUT);
pinMode(pinCS, OUTPUT);
digitalWrite(pinCS, HIGH);
SPCR = _BV(SPE) | _BV(MSTR) | _BV(CPOL) | _BV(CPHA) | _BV(SPI2X) | _BV(SPR1) | _BV(SPR0);
}
O Uno funciona diferente do Nano neste caso?