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.

[参考译文] TMS320F28035:tms320f28035的 I2C 从器件示例代码

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/953074/tms320f28035-i2c-slave-sample-code-for-tms320f28035

器件型号:TMS320F28035

您好、能否提供代码片段来说明28035器件中的 i2c 从器件运行?

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

    SAI、

    我们没有 F28035器件的 I2C 从器件示例。 但是、我们在 F2838x 器件中有一个从器件示例(使用 driverlib)。 您可以应用逻辑并在位字段中对其进行编码。 这一答复原 载于原文,但仍然适用。

    [引述]

    我们当前唯一的从站示例是针对 F2838x ( C2000Ware 2.00.00.02中的 i2c_ex3_external_loopback)、但它是使用 driverlib API 编写的、因此将其转换回 F28035使用的位字段结构头文件可能有点困难。 可能有助于查看它。

    您还可以尝试搜索论坛以查看其他人是否共享了一些从属代码。

    惠特尼

    [/报价]

    此致、

    曼诺伊

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

    示例代码使用驱动程序库、并为2838x 系列编写。 您能否为28035发布一个非常简单的从器件代码示例、该示例解释了所需的 I2C 中断、从器件模式- TX 或 Rx、并检测最后一个字节是地址还是数据。  

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

    我没有可供分享的自述代码。 我知道我指向您的示例属于2838x 系列。 但是、F2838x 和 F2803x 中提供的 I2C 模块几乎相同。 因此、寄存器配置几乎相同。 因此、您应该能够将 driverlib 代码调整为 headerfile 方法。

    此致、

    曼诺伊

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    void init_i2c_slave (void)
    {
    I2cRegs.I2COAR = 0x50;
    I2cRegs.I2CIER.bit.XRDY = 1;
    I2cRegs.I2CIER.bit.RRDY = 1;
    I2cRegs.I2CIER.bit.AAS = 1;
    I2CEST.MT.MDR.BIT.0
    I2Regs.I2CMDR.bit.IRS = 1;
    }
    
    _interrupt void ISR_i2c (void)
    {
    uint32 in_code = 0;
    int_code = I2circ.bit.INT2c;
    if (int_code = 0b100)// receive ready 中断
    {i2circ.e+
    
    
    
    
    
    
    }i2cirt+i2c2rc.bit.inc;if (int_code.i2cirt+i2r=0c2r_rtc2r_transmit = i2r.i2r.i2r.i2r.i2r+
    )= i2r2r_irt+i2r.i2rc.e+= i2r2r_irt+i2r.i2r_irt+i2r_irt+i2r2r.i2r.i2r.i2r.i2rc.e+= 0c;i2r.i2
    
    
    I2C_TX_INDEX = 0;
    }
    //复位中断标志
    PieCtrlRegs.PIEACX.ALL = PIEACK_group8;
    }