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.

[参考译文] TMS570LS3137:I2C 问题

Guru**** 2024750 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1136501/tms570ls3137-i2c-problem

器件型号:TMS570LS3137

大家好、

使用以下代码读取 AT32C256 EEPROM 上的数据、发现在第二个 START 信号之前有一个额外的 STOP 信号、但数据似乎可以顺利读取。 如何不让该 STOP 信号生成?

 

 

uint8_t RX_Data_Master[10]={0xAA、0xbb};

/*等待 MST 位被清零,这将进行
*清除总线忙后的几个周期*/
// while (i2cIsMasterReady (i2cREG1)!= true);

/*配置要与*/通话的从机地址
i2cSetSlaveAdd (i2cREG1、SLA_ADDR);

/*将方向设置为发送器*/
/*注意:可选-在 Init 中完成*/
i2cSetDirection (i2cREG1、I2C_transmitter);

/*配置数据计数*/
/*读取之前从器件地址+字地址写入操作*/
i2cSetCount (i2cREG1、2);

/*将模式设置为主设备*/
i2cSetMode (i2cREG1、I2C_MASTER);

/*设置编程计数后停止*/
i2cSetStop (i2cREG1);

/*发送开始条件*/
i2cSetStart (i2cREG1);

/*发送字地址*/
i2cSendByte (i2cREG1、0x00);
i2cSendByte (i2cREG1、0x10);

/*等待总线忙被清除*/
while (i2cIsBusy (i2cREG1)=true);

/*等待直到检测到停止*/
while (i2cIsStopDetected (i2cREG1)=0);

/*清除停止条件*/
i2cClearSCD (i2cREG1);

/********* /
/********* /

/*等待 MST 位被清零,这将进行
*清除总线忙后的几个周期*/
while (i2cIsMasterReady (i2cREG1)!= true);

/*配置要与*/通话的从机地址
i2cSetSlaveAdd (i2cREG1、SLA_ADDR);

/*将方向设置为接收器*/
i2cSetDirection (i2cREG1、I2C_RECEIVER);

/*配置数据计数*/
/*注:可选-在 Init 中完成,除非用户想要更改*/
i2cSetCount (i2cREG1、5);

/*将模式设置为主设备*/
i2cSetMode (i2cREG1、I2C_MASTER);

/*设置编程计数后停止*/


/*发送开始条件*/
i2cSetStart (i2cREG1);

/*轮询模式下的 Transmit data_count 数据数量*/
i2c 接收器(i2cREG1、5、RX_Data_Master);


i2cSetStop (i2cREG1);

/*等待总线忙被清除*/
while (i2cIsBusy (i2cREG1)=true);

/*等待直到检测到停止*/
while (i2cIsStopDetected (i2cREG1)=0);

/*清除停止条件*/
i2cClearSCD (i2cREG1);

此致、

Susan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Susan、

    我已开始处理您的问题、我将很快返回给您更新。

    --

    谢谢、此致、

    Jagadish。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Susan、

    我看不到你的捕获,请你重新附上。

    如果您使用 salea 进行捕获、请附上完整的 salea 逻辑捕获文件、以便我可以轻松地进行分析。 如下所示

    --

    谢谢、此致、

    Jagadish。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好  Jagadish、

    这是一个清晰的画面

    请帮助分析问题。

    谢谢、

    安妮

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Annie:

    您在写入地址后会在代码中给出停止条件、因为只有此停止条件正在生成、请参阅下面突出显示的函数

    因此、请删除下面突出显示的内容并进行测试:

    --

    谢谢、此致、

    Jagdish。