Lines Matching refs:SPIx
29 void SPI_Init(SPI0_Type* SPIx, SPI_InitTypeDef *init) { in SPI_Init() argument
30 assert_param(IS_SPI_ALL_PERIPH(SPIx)); in SPI_Init()
36 SPIx->CTRL_b.CLK_HIGH = FALSE; in SPI_Init()
37 SPIx->CTRL_b.NEG_EDGE = TRUE; in SPI_Init()
39 SPIx->CTRL_b.CLK_HIGH = FALSE; in SPI_Init()
40 SPIx->CTRL_b.NEG_EDGE = FALSE; in SPI_Init()
42 SPIx->CTRL_b.CLK_HIGH = TRUE; in SPI_Init()
43 SPIx->CTRL_b.NEG_EDGE = FALSE; in SPI_Init()
45 SPIx->CTRL_b.CLK_HIGH = TRUE; in SPI_Init()
46 SPIx->CTRL_b.NEG_EDGE = TRUE; in SPI_Init()
49 SPIx->CTRL_b.RX_EN = init->SPI_RxEn; in SPI_Init()
50 SPIx->BCNT_b.CNT = init->SPI_BitLength - 1; in SPI_Init()
51 SPIx->DIV = init->SPI_ClockDividor; in SPI_Init()
52 SPIx->GAP = (init->SPI_Gap == 0) ? 0 : init->SPI_Gap / 2 + 1; in SPI_Init()
55 void SPI_Enable(SPI0_Type* SPIx, BOOL enable) { in SPI_Enable() argument
56 assert_param(IS_SPI_ALL_PERIPH(SPIx)); in SPI_Enable()
58 SPIx->CTRL_b.EN = enable; in SPI_Enable()
61 void SPI_EnableInt(SPI0_Type* SPIx, uint32_t Int, BOOL enable) { in SPI_EnableInt() argument
62 assert_param(IS_SPI_ALL_PERIPH(SPIx)); in SPI_EnableInt()
66 SPIx->INT_MASK &= ~Int; in SPI_EnableInt()
68 SPIx->INT_MASK |= Int; in SPI_EnableInt()
71 SPIx->INT_MASK &= SPI_INT_ALL; in SPI_EnableInt()
74 BOOL SPI_GetIntStatus(SPI0_Type* SPIx, uint32_t Int) { in SPI_GetIntStatus() argument
75 assert_param(IS_SPI_ALL_PERIPH(SPIx)); in SPI_GetIntStatus()
78 if (0 != (SPIx->INT_STATUS & Int)) { in SPI_GetIntStatus()
84 void SPI_ClearInt(SPI0_Type* SPIx, uint32_t Int) { in SPI_ClearInt() argument
85 assert_param(IS_SPI_ALL_PERIPH(SPIx)); in SPI_ClearInt()
88 SPIx->INT_STATUS = Int; in SPI_ClearInt()
91 uint8_t SPI_ReadFifo(SPI0_Type* SPIx, uint8_t size, uint32_t* data) { in SPI_ReadFifo() argument
94 assert_param(IS_SPI_ALL_PERIPH(SPIx)); in SPI_ReadFifo()
97 if (!SPIx->CTRL_b.EN) { in SPI_ReadFifo()
102 while (!SPIx->STATUS_b.RFIFO_EMPTY && count < size) { in SPI_ReadFifo()
103 uint32_t d = SPIx->RW_DATA; in SPI_ReadFifo()
104 d <<= (32 - SPIx->BCNT_b.CNT - 1); in SPI_ReadFifo()
105 d >>= (32 - SPIx->BCNT_b.CNT - 1); in SPI_ReadFifo()
112 uint8_t SPI_WriteFifo(SPI0_Type* SPIx, uint8_t Size, uint32_t* data) { in SPI_WriteFifo() argument
115 assert_param(IS_SPI_ALL_PERIPH(SPIx)); in SPI_WriteFifo()
118 if (!SPIx->CTRL_b.EN) { in SPI_WriteFifo()
123 while (!SPIx->STATUS_b.TFIFO_FULL && count < Size) { in SPI_WriteFifo()
125 d <<= (32 - SPIx->BCNT_b.CNT - 1); in SPI_WriteFifo()
126 SPIx->RW_DATA = d; in SPI_WriteFifo()
132 BOOL SPI_Transcation(SPI0_Type* SPIx, uint8_t size) { in SPI_Transcation() argument
133 assert_param(IS_SPI_ALL_PERIPH(SPIx)); in SPI_Transcation()
136 if (!SPIx->CTRL_b.EN) { in SPI_Transcation()
140 SPIx->TRANS_CNT = size - 1; in SPI_Transcation()
141 SPIx->TRANS_START_b.TX_TRIGGER = TRUE; in SPI_Transcation()