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.

[参考译文] TMS570LC4357:多通信协议

Guru**** 2393725 points
Other Parts Discussed in Thread: TMS570LC4357, HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1331441/tms570lc4357-multiple-communication-protocol

器件型号:TMS570LC4357
主题中讨论的其他器件: HALCOGEN

尊敬的 先生:

我正在  尝试 实现 一个  逻辑   多通信协议 如 SCI, SPI, I2C ,甚至可以 RTI 也,所有通信都应该   在 单一 代码中发生, 我会 有可能.

谢谢!

此致

耶瓦

  

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

     您有 任何 线程的 I2C ,我 正在工作的     I2C 示例代码 使用 微控制器 TMS570LC4357 ,开漏 连接 外部 连接 任何细节 请与我分享 先生 它 将真的很 有用,请 尽快答复我先生  

    谢谢!  

    此致、

    耶瓦

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

     先生, 没有答复  

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

    您好、Jeev、

    Unknown 说:
    我正在  尝试     为    SCI、SPI、I2C 等多个通信协议实现一个逻辑  ,甚至还可以 RTI ,所有通信都应该   在 单个 代码中进行, 我会实现的 。

    是的、可行。

    您只需依次组合 while (1)循环中的所有代码。

    如果有任何外设使用中断、您只需添加相应的代码即可。

    IAM 正在工作的     I2C 示例代码 使用 微控制器 TMS570LC4357,开漏 连接 外部连接  任何细节 请与    我分享先生,它将真的很有用,请 尽快答复我先生 [/报价]

    可以在 HALCoGen 自身的帮助主题部分找到 I2C 示例

    如有必要、您也可以在以下常见问题解答中找到一些经过测试的示例:

    (+)[常见问题解答] TMS570LC4357:适用于 Hercules 控制器的示例和演示(例如 TMS570x、RM57x 和 RM46x 等)-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    --
    谢谢。此致、
    Jagadish。

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

    尊敬的 在 代码 和 halcogen  设置之后 ,对于 微控制器 TMS570LC4357     ,外部全增  电阻器应是必需的,电阻器的值是多少。 我把 I2C1 作为 主机 和 I2C2 作为 从机 ,这就是为什么 我要求  外部 拉电阻器连接 , 你能给任何有关的建议 , 尽快  

    谢谢!  

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

    尊敬的先生:

    为了 计算  满 电阻 我 使用  公式  R = (T_RISE )/(2*总电容)  在 参考   TMS570LS4357的数据表之后  我得到了 T_RISE = 4.2微秒   ,总电容= 400pf, 计算后    它得到5.875欧姆    ,它是正确的 SIR ,很快回复 SIR  。

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

     先生, 没有答复  

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

    您好、Jeev、

    请尝试使用2.2K 或2.7K 电阻器作为 I2C 上拉电阻器。

    请参阅以下主题以了解更多详细信息:

    (+) TMS570LS3137:I2C 无法正常工作-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    --
    谢谢。此致、
    Jagadish。

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

    #include "HL_sys_common.h"

    /*用户代码开始(1)*/
    #include "HL_i2c.h"
    /*用户代码结束*/

    /**@fn void main (void)
    *@简介应用程序主要功能
    *@注意此功能默认为空。
    *
    *此函数在启动后调用。
    *用户可以使用此函数来实施应用程序。
    */

    /*用户代码开始(2)*/
    #define DATA_COUNT 10u
    #define Master_Address 0x26
    #define Slave_Address 0x8
    uint8_t TX_TX_0x[10] Data_Master ={0x10、0x11、0x12、0x13、0x14、0x15、0x16、0x17、0x18、0x19};
    uint8_t RX_UCC110[10] Data_Master ={0};
    uint8_t TX_TX_TX[10] Data_Slave ={0x20、0x21、0x22、0x23、0x24、0x25、0x26、0x27、0x28、0x29};
    uint8_t RX_UCC110[10] Data_Slave ={0};
    /*用户代码结束*/

    int main (空)
    {
    /*用户代码开始(3)*/
    int repeat = 0;int delay = 0;
    //主传输功能//
    /* I2C 初始化、根据 GUI
    *模式=主设备-发送器
    *波特率= 100KHz
    *计数= 10
    *位数= 8位
    */
    i2cInit();
    /*配置要与之通信的从器件地址*/
    i2cSetSlaveAdd (i2cREG1、Slave_Address);
    /*设置到发送器的方向*/
    /*注:可选-在 Init 中完成*/
    i2cSetDirection (i2cREG1、I2C_TRANSMIT);
    for (REPEAT = 0;REPEAT < 2;REPEAT ++)
    {
    /*配置数据计数*/
    /*注:可选-它在 Init 中完成,除非用户想要更改*/
    i2cSetCount (i2cREG1、DATA_COUNT);
    /*将模式设置为主模式*/
    i2cSetMode (i2cREG1、I2C_MASTER);
    /*编程计数后设置停止*/
    i2cSetStop (i2cREG1);
    /*发送启动条件*/
    i2cSetStart (i2cREG1);
    /*轮询模式下发送 data_count 数据的数量*/
    i2cSend (i2cREG1、DATA_COUNT、TX_REG1 Data_Master);
    /*等待清除总线忙状态*/
    while (i2cIsBusy (i2cREG1)== true);
    /*等待直到检测到停止*/
    while (i2cIsStopDetected (i2cREG1)=0);
    /*清除停止条件*/
    i2cClearSCD(i2cREG1);
    /*开始下一个块之前的简单 Dealya */
    /*取决于从设备准备就绪的速度*/
    for (delay=0;delay<1000000;delay++);

    //主机接收功能//
    /*配置要与之通信的从器件地址*/
    i2cSetSlaveAdd (i2cREG1、Slave_Address);
    /*设置到接收器的方向*/
    i2cSetDirection (i2cREG1、I2C_receiver);
    for (REPEAT = 0;REPEAT < 2;REPEAT ++)
    {
    /*配置数据计数*/
    /*注:可选-它在 Init 中完成,除非用户想要更改*/
    i2cSetCount (i2cREG1、DATA_COUNT);
    /*将模式设置为主模式*/
    i2cSetMode (i2cREG1、I2C_MASTER);
    /*编程计数后设置停止*/
    i2cSetStop (i2cREG1);
    /*发送启动条件*/
    i2cSetStart (i2cREG1);
    /*发送 DATA_COUNT 轮询模式下的数据数量*/
    i2cReceive (i2cREG1、DATA_COUNT、RX_REF1 Data_Master);
    /*等待清除总线忙状态*/
    while (i2cIsBusy (i2cREG1)== true);
    /*等待直到检测到停止*/
    while (i2cIsStopDetected (i2cREG1)=0);
    /*清除停止条件*/
    i2cClearSCD(i2cREG1);
    /*启动下一个块之前的简单延迟*/
    /*取决于从设备准备就绪的速度*/
    for (delay=0;delay<1000000;delay++);

    这 是  我 使用 SIR 的代码,是不是 很好 SIR  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这 是  我正在 使用的代码 SIR  先生,这是很好的先生 [/报价]

    代码看起来没有问题。

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

    尊敬的  先生:

    我 有 一个 疑问 ,如果 我已经 发送 通过坞灯 应用 数据 在 UART  通信,接收 缓冲阵列我 分配 大小为 20 ,在  坞灯我 想 发送 更多的 20字符或 整数 任何。  它 应该 是 发送,无论 我 键入的  与 接收器大小 也增加 它 可能 SIR ,如果 它 可能 意味着如何 解释 SIR 先生,请回答 快速  

    谢谢!

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

    先生  没有 回复 我 有 结构 由于  以上提到的 问题,亲切的 反应  快速

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

    您好、Jeev、

    这取决于你正在使用的波特率、例如、如果你的波特率是9600、然后接收带有2个停止位的1字节数据、那么将花费大约1ms 的时间。 如果您能够在不到1ms 的时间内处理接收到的数据、那么就不会遇到任何问题。

    如果在1ms 之前未能处理、则会出现"Overflow Error"、表示接收到的数据可能会用新接收到的数据覆盖。 因此、您必须确保这一点。

    --
    谢谢。此致、
    Jagadish。

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

    e2e.ti.com/.../SPI.CODE.txtThis 代码 我 已经  为 SPI 编写 使用控制器 TMS570LS4357 ,对于 halcogen iam 小 混淆,什么 将 halcogen 设置 SIR 和 会这个 好 SIR  ,修改应该做,告诉我 SIR  

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

    您好、Jeev、

    很难在一个线程中支持所有外设问题。  

    请提出另一个线程,因为将来很难分析线程。 请针对一个问题提出至少一个问题。

    --
    谢谢。此致、
    Jagadish。