Subversion Repositories Code-Repo

Compare Revisions

Ignore whitespace Rev 146 → Rev 147

/PIC Stuff/PIC_27J13/spi.h
1,6 → 1,8
#ifndef SPI_H
#define SPI_H
 
#include "defines.h"
 
#define MAXSPIBUF 64
 
// Option to use interrupt. If interrupt are used, SPI write does not block but
7,9 → 9,6
// there is a longer delay between reading/writing data
//#define SPI2_USE_INTERRUPT
 
// Option to write only
#define SPI2_WRITE_ONLY
 
// SPI speed selection
#define SPI2_FOSC_64 0b0010
#define SPI2_FOSC_16 0b0001
17,10 → 16,12
#define SPI2_FOSC_4 0b0000
 
typedef struct __SPI_DATA {
#ifndef SPI2_WRITE_ONLY
unsigned char buffer_in[MAXSPIBUF];
unsigned char buffer_in_read_ind;
unsigned char buffer_in_write_ind;
unsigned char buffer_in_len;
#endif
 
unsigned char buffer_out[MAXSPIBUF];
unsigned char buffer_out_ind;
28,12 → 29,14
} SPI_DATA;
 
void SPI2_Init(unsigned char speed);
void SPI2_Recv_Interrupt_Handler(void);
void SPI2_Write(unsigned char *msg, unsigned int length);
void SPI2_Write_Repeat(unsigned char c, unsigned int length);
#ifndef SPI2_WRITE_ONLY
void SPI2_Recv_Interrupt_Handler(void);
void SPI2_Read(unsigned char length);
unsigned char SPI2_Buffer_Len(void);
unsigned char SPI2_Read_Buffer(unsigned char *buffer);
#endif
 
#endif /* SPI_H */