您好!
我正在尝试将 simplelink 移植到 STM32F0。 当我运行 SPI 调试工具时、所有测试均通过、因此应该可以对 SPI 进行设置。
问题似乎在于、当我的 SPI 读取函数尝试写入 simplelink 驱动程序传递给它的地址时、它会导致硬故障。 调试器显示、传递给 SPI 函数的地址为0x000000。
我的 SPI 读取函数、它在进入 pBuff++之前会遇到硬故障:
int cc3100spi_read (short* fd、unsigned char * pBuff、int len) { // assert_CS(); GPIO_ResetBits (SPI1_CC3100_GPIO_PORT、SPI1_CC3100_NSS_PIN);//lower CS Line // HAL_SPI_Receive (&SpiHandle、pBuff、len、SPI_TIMEOUT_MAX); while (len >0){ *pBuff = spiRad(); pBuff++; len-; } // DEASBERT_CS(); GPIO_SetBits (SPI1_CC3100_GPIO_PORT、SPI1_CC3100_NSS_PIN);//提高 CS 线路 返回 len; }
调用它的位置、driver.c 的第1143行:
NWP_IF_READ_CHECK (g_PCB->FD、 G_PCB-> FunctionParams.pTxRxDescBuff、 _sl_Protocol_align_size (g_pcb->FunctionParams.pCmdCtrl->RxDescLen);
对我遗漏的内容有什么建议?