TI中文支持网
TI专业的中文技术问题搜集分享网站

tms570ls0914与tps65381的spi通信

新手求助,我在配置spi的时候发现不管我向从芯片发出什么信号回读出来的信号都是a800,想问一下大家这是怎么回事

Susan Yang:

请问能给出详细信息?由于我现在没有tms570ls0914的板子,所以无法上手测试

请您将相关的代码贴一下

user6005420:

回复 Susan Yang:

/* USER CODE BEGIN (2) */
uint16 WR_SAFETY_CHECK_CTRL[1]={0X9317};
uint16 RD_SAFETY_CHECK_CTRL[1]={0X4400};
uint16 WR_SAFETY_FUNC_CFG[1]={0X35E4};
uint16 RD_SAFETY_FUNC_CFG[1]={0X3A00};
uint16 WR_DIAG_CFG_CTRL[1]={0XCCA0};
uint16 RD_DIAG_CFG_CTRL[1]={0XDD00};
int i;
/* USER CODE END */

int main(void)
{
/* USER CODE BEGIN (3) */mibspiInit();mibspiSetData(mibspiREG1,0,WR_SAFETY_CHECK_CTRL);
mibspiSetData(mibspiREG1,1,WR_SAFETY_FUNC_CFG);mibspiSetData(mibspiREG1,2,WR_DIAG_CFG_CTRL);while(1){mibspiTransfer(mibspiREG1,0);mibspiTransfer(mibspiREG1,1);mibspiTransfer(mibspiREG1,2);if( mibspiIsTransferComplete (mibspiREG1,0)==1){mibspiGetData(mibspiREG1,0,RD_SAFETY_CHECK_CTRL);}if( mibspiIsTransferComplete (mibspiREG1,1)==1){mibspiGetData(mibspiREG1,1,RD_SAFETY_FUNC_CFG);}if( mibspiIsTransferComplete (mibspiREG1,2)==1){mibspiGetData(mibspiREG1,2,RD_DIAG_CFG_CTRL);}}

就是想完成简单的从寄存器设置,但是测得的somi的波形也一样一直是ac00

user6121941:

回复 user6005420:

您好,麻烦问您一下,您的这个调通了么?我现在也遇到这个问题了,想请教您一下。

user6005420:

回复 user6121941:

我记得之前是我把引脚复用选错了,是在HAL里的pinmux选项里面的,你去看看是不是同样的问题

user6121941:

回复 user6005420:

我用的是SPI,没用MIBSPI,谢谢您了。

user6005420:

回复 user6121941:

不需要的

user6121941:

感谢您的回答,再向您请教两个问题,第一:WR是写命令,通过写进去的数据控制芯片,RD是读命令,把芯片运行的状态读取出来,我这样的理解对吗? 第二:我用的是不带奇偶校验的命令,发送命令之后返回的数据和datasheet上的不一样,比如说版本号,datasheet上是0,我的读取回来的是10011000,还有好几个命令是根本没有返回值的,您那的情况跟datasheet上的一样吗? 谢谢了

user6005420:

回复 user6121941:

你好,你的第一个问题的理解是对的,第二个的话我也不是很了解,因为我也是才学这一块的东西,实在不好意思未能解答你的疑惑

赞(0)
未经允许不得转载:TI中文支持网 » tms570ls0914与tps65381的spi通信
分享到: 更多 (0)