Statistics: Posted by Guest — Sun Jan 06, 2019 7:40 am
Statistics: Posted by RiliyVax — Wed May 03, 2017 12:58 pm
Statistics: Posted by ritesh — Sat Feb 18, 2017 1:36 am
Code:
void user_init(void)
{
os_printf("SDK version:%s\n", system_get_sdk_version());
os_printf("------------------start------------------\n\r");
set_data();
spi_master_init(HSPI);
spi_mast_byte_write(HSPI,0xAA);
GPIO_OUTPUT_SET(GPIO_ID_PIN(5), 1);
//spi_byte_write_espslave(HSPI,0xAA);
//spi_WR_espslave(HSPI);
//spi_WR_espslave(HSPI);
os_printf("------------------done!------------------\n\r");
os_printf("\n\r");
os_printf("\n\r");
}
Code:
void ICACHE_FLASH_ATTR
spi_master_init(uint8 spi_no)
{
uint32 regvalue;
if(spi_no>1) {
os_printf("invalid spi number!\n\r");
return;
} //handle invalid input number
else if(spi_no==SPI){
PIN_FUNC_SELECT(PERIPHS_IO_MUX_SD_CLK_U, 1);//configure io to spi mode
PIN_FUNC_SELECT(PERIPHS_IO_MUX_SD_CMD_U, 1);//configure io to spi mode
PIN_FUNC_SELECT(PERIPHS_IO_MUX_SD_DATA0_U, 1);//configure io to spi mode
PIN_FUNC_SELECT(PERIPHS_IO_MUX_SD_DATA1_U, 1);//configure io to spi mode
}else if(spi_no==HSPI){
os_printf("spi_clk HSPI %08x\r\n",READ_PERI_REG(PERIPHS_IO_MUX));
//WRITE_PERI_REG(PERIPHS_IO_MUX, 0x001);
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U, 2);//configure io to Hspi mode
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U, 2);//configure io to Hspi mode
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTMS_U, 2);//configure io to Hspi mode
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U, 2);//configure io to Hspi mode
}
//SET_PERI_REG_MASK(SPI_USER(spi_no), SPI_CS_SETUP|SPI_CS_HOLD);
//CLEAR_PERI_REG_MASK(SPI_USER(spi_no), SPI_FLASH_MODE|SPI_USR_COMMAND);
SET_PERI_REG_MASK(SPI_USER(spi_no), SPI_CS_SETUP|SPI_CS_HOLD|SPI_USR_COMMAND);
CLEAR_PERI_REG_MASK(SPI_USER(spi_no), SPI_FLASH_MODE);
WRITE_PERI_REG(SPI_CLOCK(spi_no),
((1&SPI_CLKDIV_PRE)<<SPI_CLKDIV_PRE_S)|
((63&SPI_CLKCNT_N)<<SPI_CLKCNT_N_S)|
((31&SPI_CLKCNT_H)<<SPI_CLKCNT_H_S)|
((63&SPI_CLKCNT_L)<<SPI_CLKCNT_L_S)); //clear bit 31,set SPI clock div
os_printf("spi_clk HSPI %08x\r\n",READ_PERI_REG(SPI_CLOCK(spi_no)));
//WRITE_PERI_REG(PERIPHS_IO_MUX_MTDO_U, READ_PERI_REG(PERIPHS_IO_MUX_MTDO_U) & 0x7F);
os_printf("spi_clk SPI %08x\r\n",READ_PERI_REG(SPI_CLOCK(SPI)));
os_printf("MTMO %08x\r\n", READ_PERI_REG(PERIPHS_IO_MUX_MTDO_U));
Statistics: Posted by foxxml — Tue Jun 07, 2016 4:14 pm
Statistics: Posted by ESP_Faye — Thu Nov 05, 2015 5:11 pm