Merge branch 'bugfix/spi_SPIIntClear' into 'release/v2.x.x'

fix(spi): Fix spi_interface SPIIntClear error.

See merge request sdk/ESP8266_RTOS_SDK!263
This commit is contained in:
Wu Jian Gang
2018-08-10 16:25:20 +08:00
2 changed files with 20 additions and 11 deletions

View File

@ -481,7 +481,7 @@ void ICACHE_FLASH_ATTR SPICsPinSelect(SpiNum spiNum, SpiPinCS pinCs)
* @brief Enable SPI interrupt source. * @brief Enable SPI interrupt source.
* *
*/ */
void ICACHE_FLASH_ATTR SPIIntEnable(SpiNum spiNum, SpiIntSrc intSrc) void ICACHE_FLASH_ATTR SPIIntEnable(SpiNum spiNum, SpiIntSrc_DoneEn intSrc)
{ {
if (spiNum > SpiNum_HSPI) { if (spiNum > SpiNum_HSPI) {
return; return;
@ -493,7 +493,7 @@ void ICACHE_FLASH_ATTR SPIIntEnable(SpiNum spiNum, SpiIntSrc intSrc)
* @brief Disable SPI interrupt source. * @brief Disable SPI interrupt source.
* *
*/ */
void ICACHE_FLASH_ATTR SPIIntDisable(SpiNum spiNum, SpiIntSrc intSrc) void ICACHE_FLASH_ATTR SPIIntDisable(SpiNum spiNum, SpiIntSrc_DoneEn intSrc)
{ {
if (spiNum > SpiNum_HSPI) { if (spiNum > SpiNum_HSPI) {
return; return;
@ -510,11 +510,11 @@ void ICACHE_FLASH_ATTR SPIIntClear(SpiNum spiNum)
if (spiNum > SpiNum_HSPI) { if (spiNum > SpiNum_HSPI) {
return; return;
} }
CLEAR_PERI_REG_MASK(SPI_SLAVE(spiNum), SpiIntSrc_TransDoneEn CLEAR_PERI_REG_MASK(SPI_SLAVE(spiNum), SpiIntSrc_TransDone
| SpiIntSrc_WrStaDoneEn | SpiIntSrc_WrStaDone
| SpiIntSrc_RdStaDoneEn | SpiIntSrc_RdStaDone
| SpiIntSrc_WrBufDoneEn | SpiIntSrc_WrBufDone
| SpiIntSrc_RdBufDoneEn); | SpiIntSrc_RdBufDone);
} }

View File

@ -108,15 +108,24 @@ typedef enum
SpiBitOrder_LSBFirst = 1, SpiBitOrder_LSBFirst = 1,
} SpiBitOrder; } SpiBitOrder;
// @brief SPI interrupt soource defined. // @brief SPI interrupt source done defined.
typedef enum typedef enum
{ {
SpiIntSrc_TransDone = SPI_TRANS_DONE,
SpiIntSrc_WrStaDone = SPI_SLV_WR_STA_DONE,
SpiIntSrc_RdStaDone = SPI_SLV_RD_STA_DONE,
SpiIntSrc_WrBufDone = SPI_SLV_WR_BUF_DONE,
SpiIntSrc_RdBufDone = SPI_SLV_RD_BUF_DONE,
} SpiIntSrc_Done;
// @brief SPI interrupt source done enable defined.
typedef enum {
SpiIntSrc_TransDoneEn = SPI_TRANS_DONE_EN, SpiIntSrc_TransDoneEn = SPI_TRANS_DONE_EN,
SpiIntSrc_WrStaDoneEn = SPI_SLV_WR_STA_DONE_EN, SpiIntSrc_WrStaDoneEn = SPI_SLV_WR_STA_DONE_EN,
SpiIntSrc_RdStaDoneEn = SPI_SLV_RD_STA_DONE_EN, SpiIntSrc_RdStaDoneEn = SPI_SLV_RD_STA_DONE_EN,
SpiIntSrc_WrBufDoneEn = SPI_SLV_WR_BUF_DONE_EN, SpiIntSrc_WrBufDoneEn = SPI_SLV_WR_BUF_DONE_EN,
SpiIntSrc_RdBufDoneEn = SPI_SLV_RD_BUF_DONE_EN, SpiIntSrc_RdBufDoneEn = SPI_SLV_RD_BUF_DONE_EN,
} SpiIntSrc; } SpiIntSrc_DoneEn;
// @brief SPI CS pin. // @brief SPI CS pin.
typedef enum typedef enum
@ -297,7 +306,7 @@ void SPICsPinSelect(SpiNum spiNum, SpiPinCS pinCs);
* *
* @return void. * @return void.
*/ */
void SPIIntEnable(SpiNum spiNum, SpiIntSrc intSrc); void SPIIntEnable(SpiNum spiNum, SpiIntSrc_DoneEn intSrc);
/** /**
* @brief Disable SPI module interrupt source. * @brief Disable SPI module interrupt source.
@ -309,7 +318,7 @@ void SPIIntEnable(SpiNum spiNum, SpiIntSrc intSrc);
* *
* @return void. * @return void.
*/ */
void SPIIntDisable(SpiNum spiNum, SpiIntSrc intSrc); void SPIIntDisable(SpiNum spiNum, SpiIntSrc_DoneEn intSrc);
/** /**
* @brief Clear all of spi interrupt. * @brief Clear all of spi interrupt.