主题中讨论的其他器件:HALCOGEN、
我们已经设置了一些 ADC 通道并使用 HALCoGen adcInit ()、adcEnableNotification ()和 adcStartConversion ()函数启用了这些通道。 这些工作符合预期。
然后,我们使用 HALCoGen rtiInit ()和 rtiEnableNotification ()函数设置了一些 RTI。 这些命令通常按预期工作。
当我们从一个 RTI 触发的函数中调用 HALCoGen HL_SPI.c 函数时、这些函数与 ADC 中断和转换同时进行时开始出现问题。 我们看到的是,当 HALCoGen 函数 spiTransmitAndReceiveData ()从由 spiTransmitAndReceiveData ()中的实时中断(RTI)回调( rtiNotification ())数据(如 blockSize 参数)调用的函数时,该函数会被损坏(即将值1传递给它, 但随后它会损坏、导致其最终为一个非常大的数字、例如0x26000000)。 如果我禁用 ADC 中断或转换(不要调用 adcEnableNotification ()或 adcStartConversion(),那么它运行正常。 如果我在 RTI (主循环)外部调用 spiTransmitAndRecieveData(),那么它就可以正常工作。
这是 TMS570LC4357的限制还是某些设置不正确?
谢谢。
大卫