Exemplo n.º 1
0
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
}
Exemplo n.º 2
0
/// @brief HSPI Ready wait
/// @return  void
void hspi_waitReady(void)
{
    while (READ_PERI_REG(SPI_FLASH_CMD(HSPI)) & SPI_FLASH_USR) {};
}
Exemplo n.º 3
0
/// @brief HSPI Start Send
/// @return  void
static void hspi_startSend(void)
{
    SET_PERI_REG_MASK(SPI_FLASH_CMD(HSPI), SPI_FLASH_USR);
}