creo un nuovo post perché l'argomento mi sembra diverso.
Sto cercando di interfacciare tramite spi il micro ATmega328p (quello di arduino) e un raspberry pi 2 (40 pin).
Purtroppo non riesco ad ottenere nessuna comunicazione tra i due. Vi posto i dettagli del progetto.
Ho collegato i seguenti pin:
ATmega------->Raspberry PI
17------------->19 (MOSI)
18------------->21 (MISO)
19------------->23 (SCLK)
22------------->20 (GND)
- Codice: Seleziona tutto
#define F_CPU 20000000UL
#include <avr/io.h>
#include <util/delay.h>
void spi_init_slave (void)
{
DDRB=(1<<6); //MISO as OUTPUT
SPCR=(1<<SPE); //Enable SPI
}
unsigned char spi_tranceiver (unsigned char data)
{
SPDR = data; //Load data into buffer
while(!(SPSR & (1<<SPIF) )); //Wait until transmission complete
return(SPDR); //Return received data
}
int main(void)
{
spi_init_slave();
unsigned char data, buffer[10];
uint8_t x = 0;
while(1)
{
data = spi_tranceiver(++x);
_delay_ms(1000);
}
}
Raspberry pi 2:
- Codice: Seleziona tutto
import spidev
import time
spi=spidev.SpiDev()
spi.open(0,0)
try:
while True:
resp = spi.xfer2([0xAA])
print "receiving:", resp[0]
time.sleep(1.0)
except KeyboardInterrupt:
spi.close()
Cosa c'è che non va? Mi potete aiutare?

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)


pigreco]=π