www.pudn.com > cc03-demo-spi-0_0_1.rar > spi_drv.h


/*H************************************************************************** 
* NAME:         spi_drv.h          
*---------------------------------------------------------------------------- 
* Copyright (c) 2003 Atmel. 
*---------------------------------------------------------------------------- 
* RELEASE:      cc03-demo-spi-0_0_1       
* REVISION:     1.1.1.1      
*---------------------------------------------------------------------------- 
* PURPOSE:  
* spi lib header file                                                  
*****************************************************************************/ 
 
#ifndef _spi_DRV_H_ 
#define _spi_DRV_H_ 
 
/*_____ I N C L U D E S ____________________________________________________*/ 
#include "config.h" 
 
/*_____ D E F I N I T I O N ________________________________________________*/ 
 
 
#define SPI_RATIO_2			0x00 
#define SPI_RATIO_4			0x01 
#define SPI_RATIO_8			0x02 
#define	SPI_RATIO_16		0x03 
#define	SPI_RATIO_32		0x80 
#define	SPI_RATIO_64		0x81 
#define	SPI_RATIO_128		0x82 
#define	SPI_RATIO_INVALID	0x83 
 
 
/*_____ M A C R O S ________________________________________________________*/ 
 
 
#define Spif_set()					((SPSCR & MSK_SPSCR_SPIF) == MSK_SPSCR_SPIF) 
#define Spte_set()          ((SPSCR & MSK_SPSCR_SPTE) == MSK_SPSCR_SPTE) 
 
/*_____ D E C L A R A T I O N ______________________________________________*/ 
 
 
 
extern volatile bit b_spi_error; 
extern volatile bit b_spi_transmit_completed; 
extern volatile bit	b_spi_busy; 
extern volatile Uchar *spi_string_ptr; 
extern volatile Uchar spi_data_nb; 
extern volatile Uchar spi_data; 
 
void spi_master_init(bit cpol, bit cpha, bit ssdis,Uchar speed); 
void spi_slave_init(bit cpol, bit cpha, bit ssdis); 
bit spi_set_speed( unsigned char ratio ); 
unsigned char spi_transmit_byte(unsigned char to_transmit); 
unsigned char spi_get_data(); 
void spi_put_data( unsigned char to_transmit); 
void spi_transmit_burst_polling( unsigned char  *ptr_buf, unsigned char nb_data);  
bit  spi_transmit_burst_it (Uchar *string_ptr, Uchar data_nb); 
 
#endif /* _SPI_DRV_H_ */