请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS570LS1227 大家好、
以下是客户提出的问题、可能需要您的帮助:
在 hal 代码生成器软件中、用户可设定 Mibspi 数据传输的长度、即组的长度。 但是、如果客户希望动态修改使用期间发送的每个数据的长度、该怎么办?
将长度设置为16并在发送数据时修改 TMS570_mibspiSetU8Data 函数。 客户希望能够在调用此函数时发送4字节数据。 但是、示波器捕获的波形发现发送的数据始终为16字节。
void tms570_mibspiSetU8Data(mibspiBASE_t *mibspi, uint32 group, uint8 * data,uint32_t u32DataLen) { mibspiRAM_t *ram = (mibspi == mibspiREG1) ? mibspiRAM1 : ((mibspi == mibspiREG3) ? mibspiRAM3 : mibspiRAM5); uint32 start = (mibspi->TGCTRL[group] >> 8U) & 0xFFU; uint32 end = (group == 7U) ? (((mibspi->LTGPEND & 0x00007F00U) >> 8U) + 1U) : ((mibspi->TGCTRL[group+1U] >> 8U) & 0xFFU); if (end == 0U) { end = 128U; } if(end > start + u32DataLen) { end = start + u32DataLen; } while (start < end) { /*SAFETYMCUSW 45 D MR:21.1 <APPROVED> "Valid non NULL input parameters are only allowed in this driver" */ ram->tx[start].data = *data; /*SAFETYMCUSW 567 S MR:17.1,17.4 <APPROVED> "Pointer increment needed" */ data++; start++; } }
您可以帮助检查此案例吗? 谢谢。
此致、
樱桃