⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spi_lib.h

📁 ix2-lib-spi-1_2_0.zip源码
💻 H
字号:
/*H**************************************************************************
* NAME:         spi_lib.h         
*----------------------------------------------------------------------------
* Copyright (c) 2002 Atmel.
*----------------------------------------------------------------------------
* RELEASE:      ix2-lib-spi-1_2_0      
* REVISION:     1.3     
*----------------------------------------------------------------------------
* PURPOSE: 
* SPI lib header file                                                 
*****************************************************************************/

#ifndef _SPI_LIB_H_
#define _SPI_LIB_H_

/*_____ I N C L U D E S ____________________________________________________*/
#include "config.h"

/*_____ D E F I N I T I O N ________________________________________________*/
#define IRQ_SPI				9

#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


#define MSK_SPI_SPEN		0x40
#define MSK_SPI_DISABLE		0xBF
#define MSK_CLEAR_CRX		0x7C
#define	MSK_SPI_SSDIS		0x20
#define MSK_SPI_MSTR		0x10

#define MSK_SPI_CPOL		0x08
#define	MSK_SPI_CPHA		0x04

#define MSK_SPI_SPR2		0x80
#define MSK_SPI_SPR1		0x02
#define MSK_SPI_SPR0		0x01

#define MSK_SPI_SPIF		0x80
#define MSK_SPI_MODF		0x10
#define MSK_SPI_WCOL		0x40

/*_____ M A C R O S ________________________________________________________*/

#define SPI_MODE_MASTER		{ SPCON |= MSK_SPI_MSTR; }
#define SPI_MODE_SLAVE		{ SPCON &= ~MSK_SPI_MSTR; }
#define SPI_SET_CPOL		{ SPCON |= MSK_SPI_CPOL; }
#define SPI_CLR_CPOL		{ SPCON &= ~MSK_SPI_CPOL; }
#define SPI_SET_CPHA		{ SPCON |= MSK_SPI_CPOL; }
#define SPI_CLR_CPHA		{ SPCON &= ~MSK_SPI_CPHA; }
#define SPI_SET_SSDIS		{ SPCON |= MSK_SPI_SSDIS;}
#define SPI_CLR_SSDIS		{ SPCON &= ~MSK_SPI_SSDIS;}
#define SPI_ENABLE			{ SPCON |= MSK_SPI_SPEN; }
#define SPI_DISABLE			{ SPCON &= ~MSK_SPI_SPEN; }



/*_____ D E C L A R A T I O N ______________________________________________*/


extern volatile bit b_SPI_overrun;
extern volatile bit b_SPI_error;
extern volatile bit b_SPI_transmit_completed;
extern volatile bit	b_SPI_busy;
extern volatile unsigned char *SPI_string_ptr;
extern volatile unsigned char SPI_data_nb;
extern volatile unsigned char SPI_data;

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_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -