您好!
我已经执行了该项目[1]。 遗憾的是、在数据传输期间、芯片选择不会变为低电平(请参阅图[2])。 这样做的原因可能是什么? 是否有任何解决方案?
非常感谢。
此致
Patrick
安亨:
[1]项目
e2e.ti.com/.../4_5F00_impl_2D00_int.zip
[2] 测量

This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我已经执行了该项目[1]。 遗憾的是、在数据传输期间、芯片选择不会变为低电平(请参阅图[2])。 这样做的原因可能是什么? 是否有任何解决方案?
非常感谢。
此致
Patrick
安亨:
[1]项目
e2e.ti.com/.../4_5F00_impl_2D00_int.zip
[2] 测量

您的代码可选择 CS_1作为芯片选择:
ui16TempReg =((uint16)(~((uint16) 0xFFU ^(uint16) ui8CpSelect))和(uint16) 0x00FFU);
但是、为什么要使用与所有 TG 的起始缓冲区相同的缓冲区编号(1~7)? 在您的应用中、哪种 TG 用于数据 TX 和 RX?
if (ui8RegN = 0U)
{
ui16RegM = 0U;
}
其他
{
ui16RegM = ui16Size;
}
IF (ui8RegN < 8U)
{
mibspiREG1->TGCTRL[ui8RegN]=(uint32)((uint32) 1U << 30U)/* OneShot *
|(UINT32)((UINT32) 0U << 29U)/* pcurrent reset */
|(UINT32)((UINT32) TRG_Always << 20U)/*触发事件*/
|(UINT32)((UINT32) TRG_DISABLED << 16U)/*触发源*/
|(uint32)((uint32) ui16RegM << 8U);//开始缓冲区
}
其他
{
mibspiREG1->TGCTRL[8U]=(uint32)(ui16RegM)<< 8U;
mibspiREG1->LTGPEND =(mibspiREG1->LTGPEND & 0xFFFF00FFU)|(uint32)(((uint32) ui16RegM)-1U)<< 8U);
}
}
您是否尝试过 HALCoGen 生成的 MibSPI 函数?
您好!
是的、我使用 Halcogen 进行了测试、发现在我的 TSM570LC4357开发套件(www.ti.com/.../TMDX570LC43HDK)上 、CS0、CS1和 CS2上不能进行位切换。 CS3可以进行位切换。 可以发送带 CS3的 SPI 消息。
此处可能存在硬件错误。 你怎么看?
非常感谢。
此致
Patrick