ESP8266 hspi 디버그
1966 단어 ESP8266
단편기 마스터단: 전송 데이터 형식: CMD(1byte)+ADDR(1byte)+DATA, 전체 과정은 매우 간단합니다. 이 형식으로 보내면 전체 과정 CS가 낮아집니다.Most Significant Bit First 8bit 데이터 전송,CPOL=0; CPHA=0;
8266단은 다음 테스트 함수를 직접 호출하면 됩니다. 그중spislave_isr_sta는 인터럽트 리셋 함수입니다.//Test spi slave interfaces. void ICACHE_FLASH_ATTR spi_slave_test() {//SpiAttr hSpiAttr; hSpiAttr.bitOrder = SpiBitOrder_MSBFirst; hSpiAttr.speed = 0; hSpiAttr.mode = SpiMode_Slave; hSpiAttr.subMode = SpiSubMode_0;
// Init HSPI GPIO
WRITE_PERI_REG(PERIPHS_IO_MUX, 0x105);
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U, 2);//configure io to spi mode
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U, 2);//configure io to spi mode
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTMS_U, 2);//configure io to spi mode
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U, 2);//configure io to spi mode
os_printf("\r
============= spi init slave =============\r
");
SPIInit(SpiNum_HSPI, &hSpiAttr);
// Set spi interrupt information.
SpiIntInfo spiInt;
spiInt.src = (SpiIntSrc_TransDone
| SpiIntSrc_WrStaDone
|SpiIntSrc_RdStaDone
|SpiIntSrc_WrBufDone
|SpiIntSrc_RdBufDone);
spiInt.isrFunc = spi_slave_isr_sta;
SPIIntCfg(SpiNum_HSPI, &spiInt);
//SHOWSPIREG(SpiNum_HSPI);
SPISlaveRecvData(SpiNum_HSPI);
uint32_t sndData[8] = { 0 };
sndData[0] = 0x35343332;
sndData[1] = 0x39383736;
sndData[2] = 0x3d3c3b3a;
sndData[3] = 0x11103f3e;
sndData[4] = 0x15141312;
sndData[5] = 0x19181716;
sndData[6] = 0x1d1c1b1a;
sndData[7] = 0x21201f1e;
SPISlaveSendData(SpiNum_HSPI, sndData, 8);
WRITE_PERI_REG(SPI_RD_STATUS(SpiNum_HSPI), 0x8A);
WRITE_PERI_REG(SPI_WR_STATUS(SpiNum_HSPI), 0x83);
}
단편기 원본
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ESP8266 시작GND RXD TXD(I02)는 PC와의 통신에 사용합니다. PC와의 커뮤니케이션을 위해 USB 단자와 TTL 시리얼 케이블(예: ) 등을 사용하여 연결합니다. 최초의 Flash 메모리의 내용은 비어 있습니다. 프로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.