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

F28M35x关于i2c_loopback_m3例程

请教朋友们关于i2c_loopback_m3例程下载到M3核后如何验证程序跑的正常与否呢?谢谢了!

Eric Ma:

hongyue,

 因为loopback模式就是在内部将master和slave接到了一起,所以你只要看接收的buff数据对不对就可以了

Eric

 

请教朋友们关于i2c_loopback_m3例程下载到M3核后如何验证程序跑的正常与否呢?谢谢了!

hongyue yu:

回复 Eric Ma:

Eric

是不是就是看一下I2CMDR、I2CSDR中的值呢?图中的值即为运行之后的值,默认是0xBAD0BAD0。

 

请教朋友们关于i2c_loopback_m3例程下载到M3核后如何验证程序跑的正常与否呢?谢谢了!

hongyue yu:

回复 Eric Ma:

Eric,

我点击运行之后,I2CMDR中的值为0x43,I2CSDR中的值为0x2,不是很清楚为什么会是这两个值?

请教朋友们关于i2c_loopback_m3例程下载到M3核后如何验证程序跑的正常与否呢?谢谢了!

Eric Ma:

回复 hongyue yu:

hongyue,

你往buf中写入的是什么数据?

先确认接收buff跟发送buff是一致的。

另外I2CMDR跟I2CSDR只有低8位有效。

Eric

请教朋友们关于i2c_loopback_m3例程下载到M3核后如何验证程序跑的正常与否呢?谢谢了!

hongyue yu:

回复 Eric Ma:

Eric,

我只是将例程编译之后下载到目标板运行的,对程序没有做更改;程序中只是定义了    ulDataTx[0] = 'I';    ulDataTx[1] = '2';    ulDataTx[2] = 'C';

程序的目的就是将这三个值由master发送到slave;然后又由slave发送到master。但是就是不清楚为什么会出现那两个值?

请教朋友们关于i2c_loopback_m3例程下载到M3核后如何验证程序跑的正常与否呢?谢谢了!

Eric Ma:

回复 hongyue yu:

hongyue,

那里查看一下'C'对应的hex值是多少。我没测过,但因为程序中是用Rxbuff将I2CSDR的数据给读取了,读取后是否还会保留该数据,我没确认。

你可以通过设断点来查看。

在这里设断点,然后看这个I2CSDR的值。

ulDataRx[ulindex] = I2CMasterDataGet(I2C0_MASTER_BASE);

Eric

请教朋友们关于i2c_loopback_m3例程下载到M3核后如何验证程序跑的正常与否呢?谢谢了!

hongyue yu:

回复 Eric Ma:

Eric,

设置断点之后,I2CMDR的值会变化0x49、0x32、0x43,也就是I2C;但I2CSDR中的值没有任何变化一直是0x2。再点击run的话还会报错,不清楚是什么原因?

赞(0)
未经允许不得转载:TI中文支持网 » F28M35x关于i2c_loopback_m3例程
分享到: 更多 (0)