📄 spi_lib.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 + -