void ICACHE_FLASH_ATTR led_spi_master_16bit_write(uint8 spi_no, uint8_t lowFirstByte, uint8 highLastByte) { uint32 regvalue; if (spi_no > 1) { return; } regvalue = 0xF0000000 | ((uint32) (highLastByte << 8) | lowFirstByte); //configure transmission variable,9bit transmission length and first 8 command bit while (READ_PERI_REG(SPI_FLASH_CMD(spi_no)) & SPI_FLASH_USR) ; //waiting for spi module available WRITE_PERI_REG(SPI_FLASH_USER2(spi_no), regvalue); //write command and command length into spi reg SET_PERI_REG_MASK(SPI_FLASH_CMD(spi_no), SPI_FLASH_USR); //transmission start }
/// @brief HSPI Ready wait /// @return void void hspi_waitReady(void) { while (READ_PERI_REG(SPI_FLASH_CMD(HSPI)) & SPI_FLASH_USR) {}; }
/// @brief HSPI Start Send /// @return void static void hspi_startSend(void) { SET_PERI_REG_MASK(SPI_FLASH_CMD(HSPI), SPI_FLASH_USR); }