由于STM32CubeIDE没有用于板STM32L475与其Wifi模块ISM43362之间通信的示例。我决定用HAL库自己写一个。但是在多次尝试之后,SPI通信将只接收到一串1。与ISM43362数据表所述相反,Wifi模块没有传输实际数据(https://www.inventeksys.com/wp-content/uploads/ISM43362_M3G_L44_Functional_Spec.pdf)。
这是SPI接收代码HAL_SPI_Receive(&hspi3, (uint8_t*)spi_rxPtr, 255, 100);
任何帮助都将不胜感激!
我终于想通了。在读取WIFI模块的AT命令之前,有两个条件需要完成。
1-首先,每次读取尝试后必须检查DRDY行。这一行保证WIFI模块有数据要传输,在许多情况下,WIFI模块需要更长的时间来响应命令,并且在发出读取时无法用正确的数据进行响应。2-(包括第一个(在WIFI模块通电重置后,我们需要直接发出读取命令。返回的数据应为0x15 0x15\r\n如果不是,则存在错误。