您好!
我已经为具有 OpenSTM32的项目使用了"STM32F4_Add_ON_for_CC3100_SDK"。
如果我运行天气示例、我将获得 SPI 写入和 SPI 读取函数的以下控制台输出:
获取天气应用程序-版本1.2.0
写入:len= 4、0x65、0x87、0x78、0x56
读取:len= 8、0x00、0x00、0x00、0xBC、 0xDC、0xCD、0xAB、0x08
此消息之后,UC 在硬默认处理程序中挂起
调试显示程序在_SLDrvRxHdrRead()函数中挂起:
我的 SPI 读取函数如下所示:
int spi_read (fd_t fd、unsigned char * pBuff、int len)
{
unsigned char bubuff [80];
unsigned char ret;
assert_CS();
RET = HAL_SPI_Receive (SpiHandle、pBuff、len、SPI_TIMEOUT_MAX);
DEASBERT_CS();
#if debug
sprintf (buff、"ret=%d、len=%d、0x%02x、0x%02x、 0x%02x、0x%02x、0x%02x、0x%02x、0x%02x、 0x%02x\n\r"、
RET、len、pBuff[0]、pBuff[1]、pBuff[2]、 pBuff[3]、pBuff[4]、pBuff[5]、pBuff[6]、pBuff[7]);
cli_Write (buff);
#endif
返回 len;
}
我最近发布了一个相关问题、它解决了项目 SPI-dBUG.tool 的问题。
感谢你的帮助
奥托帕茨胡伯
慕尼黑应用科学大学