工具与软件:
我的设置:
- 使用 CC3301配套芯片定制电路板
- 在 SPI 端口上进行探测
目标:
- 通过发送 CMD0在主机 MCU 和 CC3301之间设置 SPI 通信
发送 CMD0时、探针读取以下字节序列:0x00、0x80、0xFE、0xFF、0x73、 0xF2、0x10、0x00 (大端字节序、无位混合)
当根据数据字节序和32位字长重新排序时:0xFFFE80000010F273。 此数据序列不会导致 MISO 通道在 CMD0最后一位发送完毕后下降至低电平-我理解这一点是为了表明 CC3301了解 要遵循的 SPI 封装设置。 查看字节序列(并保持`bus_sendInitCommand (...)`的左侧位移 请记住)、 `de`标志设置为0 --小端字节序。
如果我通过在填充 aCRCBuffer 之前添加以下行、手动将函数中的标志设置为高电平:
aTempCmd0[6]= initCmd[5]|= 2;
序列改变为 0x00、0x80、0xFE、0xFF、0x3B、 0xF6、0x10、0x00、但结果仍然相同-- MISO 通道上无响应。
但是、如果我手动重新排序代码中的字节、这样字节序列为: 0xFF、 0xFE、0x80、0x00、0x00、 0x10、0xF2、0x73、表示工作正常!
不过、在本例中、这并不是一个很好的解决方案、因为字节顺序将在其他所有地方都错误。 这也表明芯片的使能信号设置的很好--我发送 CMD0的方式肯定有问题、我猜的是格式。
因此、我提出了一些问题:
1.在任何情况下、CMD0是否应使用小端字节序和不进行位混合发送、或者是否应遵循 内部标志中指定的格式?
2.在函数`bus_sendInitCommand (...)`中 ``config_params`被忽略、并初始化并改用本地` uint32_t config `-那么、我应该如何更改 Δ t e `d标志?
我对"MISO 通道降至低电平"的假设是否表示 CC3301理解 要遵循的 SPI 封装设置?
4.我可以向 CC3301发送命令来查看它是否能够响应吗?
提前感谢、
Albert