您好!
使用 STM32F0 UC 上的 STM32F4端口时遇到问题。 我不知道这是不是我的问题所在的正确论坛。
这是示例项目"SPI-debug-tool"的一部分。 SPI 读取的代码 schows 测试:
/*找到同步模式。 如果需要、将完整的读取字节数设置为4的倍数(协议对齐)*/
SyncCnt %= SYNC_pattern_LEN;
if (SyncCnt > 0) //调试器 SyncCnt = 3
{
*(_u32 *)&pBuf[0]=*(_u32 *)&pBuf[4];
SL_IfRead (FD、&pBuf[SYNC_pattern_LEN - SyncCnt]、SyncCnt); //<--硬故障错误
}
其他
{
SL_IfRead (FD、&pBuf[0]、4);
}
如果我将 SPI 读取序列更改为以下代码:
char testbuf[8];
int index = SYNC_pattern_LEN - Synccnt; //调试器:index = 1 和 SyncCnt = 3
sl_IfRead (FD、testbuf、SyncCnt);
对于(int i = 0;i < SyncCnt;i++)
pBuf[i + index]= testbuf[i];
. 硬故障错误消失、SPI 调试测试成功结束!
这种奇怪行为的原因可能是什么。 我担心使用 MQTT 等更复杂的示例会遇到这些问题。
我们非常感谢您的帮助
奥托帕茨胡伯
慕尼黑应用科学大学