Página 1 de 1

Comunicacao Master x Slave pelo modulo SPI

MensagemEnviado: 02 Out 2007 17:41
por Julio
Ola pessoal,
estou querendo implementar um comunicacao spi, como faco, alguem poderia me dar uma dica??..por codigo ou pelo processor expert..ate+

MensagemEnviado: 03 Out 2007 09:53
por fmaesso
Ola!
Eu usei o Codevision e lá tem um maker que te programa o canal SPI facilmente.
Mas de qualquer forma, é bastante simples, pois a configuracao do canal é feita atraves de dois registros SPCR e SPSR, onde voce definirá o modo de operacao, velocidade, se o processador é master ou slave, interrupcao, etc...

Fernando Maesso

MensagemEnviado: 03 Out 2007 10:01
por fmaesso
Olá Julio
Errei. Isto é para o AVR, desculpe. Para o 9S12 eu usei o seguinte:

Para inicializar o canal
SPICR1 = 0x54;
SPICR2 = 0x02;
SPIBR = 0x06;


Para enviar

void putchar_spi0 (char cx){
unsigned char temp;
while(!(SPISR & SPISR_SPTEF_MASK));
SPIDR = cx;
while(!(SPISR & SPISR_SPIF_MASK));
temp = SPIDR;
}


Para Ler
while(!(SPISR & SPISR_SPIF_MASK));
r = SPIDR;

Voce poderia juntar as rotina para mandar e ler pois as operacoes sao simultaneas.
SPIDR = valor;
while(!(SPISR & SPISR_SPIF_MASK));
r = SPIDR;


Fernando Maesso

SPI

MensagemEnviado: 06 Nov 2007 08:28
por Julio
Alguem poderia me passa o msn para cv melhor sobre o assunto??? ou me add..julio.fernands@hotmail.com..