CommunicationSPI.c

1
/* * CommunicationSPI.c * * Created: 19/08/2015 17:03:21 * Author: FARAON */ #include <avr/io.h> #include "CommunicationSPI.h" void SPI_MasterInit() { DDR_SPI = (1 << DDR_MOSI) | (1 << DDR_SCK) | (7 << DDR_SS); SPCR = (1 << SPIE) | (1 << SPE) | (0 << DORD) | (1 << MSTR) | (0 << CPO L) | (0 << CPHA) | (0 << SPR1) | (0 << SPR0); return; } void SPI_SlaveInit(void) { //Set MISO output DDR_SPI = (1 << DDR_MISO); //Enable SPI, Slave SPCR = (1 << SPE); return; } char SPI_Transfer(unsigned char c) { SPDR = c; while(!(SPSR & (1 << SPIF))); return SPDR; }

description

Archivo fuente para la comunicacion SPI

Transcript of CommunicationSPI.c

/* * CommunicationSPI.c * * Created: 19/08/2015 17:03:21 * Author: FARAON */

#include <avr/io.h>#include "CommunicationSPI.h"

void SPI_MasterInit(){

DDR_SPI = (1 << DDR_MOSI) | (1 << DDR_SCK) | (7 << DDR_SS);SPCR = (1 << SPIE) | (1 << SPE) | (0 << DORD) | (1 << MSTR) | (0 << CPO

L) | (0 << CPHA) | (0 << SPR1) | (0 << SPR0);

return;}

void SPI_SlaveInit(void){

//Set MISO outputDDR_SPI = (1 << DDR_MISO);//Enable SPI, SlaveSPCR = (1 << SPE);

return;}

char SPI_Transfer(unsigned char c){

SPDR = c;while(!(SPSR & (1 << SPIF)));return SPDR;

}