BOOTLOADER
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
spi1.h
Go to the documentation of this file.
1 #ifndef SPI1_H
2 #define SPI1_H
3 
4 #define SPI1_POLLING_MODE 0x00000000
5 #define SPI1_INTRQ_MODE 0x00000020
6 #define SPI1_DMA_MODE 0x00000040
7 #define SPI1_SCK_ENABLE 0x00000010
8 #define SPI1_SCK_DISABLE 0x00000000
9 #define SPI1_MASTER 0x00000008
10 #define SPI1_SLAVE 0x00000000
11 #define SPI1_CLK_ACTIVE_H 0x00000004
12 #define SPI1_CLK_ACTIVE_L 0x00000000
13 #define SPI1_CLK_FMT_B 0x00000002
14 #define SPI1_CLK_FMT_A 0x00000000
15 #define SPI1_TX_AUTO 0x00000001
16 #define SPI1_TX_NORMAL 0x00000000
17 
18 #define SPI1_DCOL_DETECT 0x00000004
19 #define SPI1_DCOL_NOT 0x00000000
20 #define SPI1_MULF_DETECT 0x00000002
21 #define SPI1_MULF_NOT 0x00000000
22 #define SPI1_READY_DETECT 0x00000001
23 #define SPI1_READY_NOT 0x00000000
24 
25 #define SPI1_ENMUL_ENABLE 0x00000004
26 #define SPI1_ENMUL_DISABLE 0x00000000
27 #define SPI1_RESERVE_SET 0x00000002
28 #define SPI1_RESERVE_CLR 0x00000000
29 #define SPI1_KEEP_ENABLE 0x00000001
30 #define SPI1_KEEP_DISABLE 0x00000000
31 
32 typedef struct{ //can't use __packed???
33  volatile U32 SPCON; //0x0
34  volatile U32 SPSTA; //0x4
35  volatile U32 SPPIN; //0x8
36  volatile U32 SPPRE; //0xc
37  volatile U32 SPTDAT; //0x10
38  volatile U32 SPRDAT; //0x14
40 
41 typedef struct{
49 
50 extern SPI1_CONTROL Spi1Ctrl;
51 
52 extern void F_Spi1Init(void);
53 extern void F_Spi1Svc(void);
54 extern INT8U F_Spi1InUseCheck(void);
56 extern INT8U F_Spi1Release(INT16U);
57 extern INT8U F_Spi1SpconSet(INT16U UserId,INT8U SpconValue);
58 extern INT8U F_Spi1SpstaGet(INT16U UserId,INT8U *pSpstaValue);
59 extern INT8U F_Spi1SppinSet(INT16U UserId,INT8U SppinValue);
60 extern INT8U F_Spi1SppreSet(INT16U UserId,INT8U SppreValue);
61 extern INT8U F_Spi1SptdatSet(INT16U UserId,INT8U SptdatValue);
62 extern INT8U F_Spi1SprdatGet(INT16U UserId,INT8U *pSprdatValue);
63 extern INT8U F_Spi1IsrHookFunctionSet(INT16U UserId,INT32U Function);
64 
65 #endif