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.

[参考译文] TMS320F28.0025万C:关于I2C模块

Guru**** 2463330 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1093219/tms320f280025c-about-i2c-modules

部件号:TMS320F28.0025万C
主题中讨论的其他部件: C2000WARE

您好,先生:

我们的项目使用 TMS320F28.0025万C,我们需要I2C模块与其他器件一起传输数据。

现在,我们的项目目标板需要是从属板,并将数据传输到其他板(作为主板)  

因此,我们检查了I2C示例,只找到一个使用芯片I2C模块作为从属模块的示例 ,如下所示:

I2C_Ex5_MASTER_SLAVE_INTERRUCL.c:=>  示例2:I2CA作为主接收器,I2CB工作从发射器

我们对这个例子进行了多次测试,但我们不能传输任何东西。

请告诉我们如何正确测试此示例!

现在我们还有其他问题,如下所示:  

问题1:如何设置  I2CB工作从发射器的初始化。

示例2显示如下:

I2C_DisableModule (I2CB_BASE);
I2C_initMaster (I2CB_BASE,DEVICE_SYSCLK_FQ,10万,I2C_DUTYCYCLE 50);
I2C_setConfig (I2CB_BASE,I2C_MASTER_SEND_MODE);      // I2CB工作从变送器,为什么 不 设置为 I2C_SLAVE_SEND_MODE?
I2C_setSlaveAddress (I2CB_BASE,80);
I2C_DisableLoopback (I2CB_BASE);
I2C_setBitCount (I2CB_BASE,I2C_BITCOUNT_8);
I2C_setDataCount (I2CB_BASE,2);
I2C_setAddressMode (I2CB_BASE,I2C_ADDR_MODE_7BITUS);
I2C_enableFIFO (I2CB_BASE);
I2C_clearInterruptStatus (I2CB_BASE,I2C_INT_ADDR_SLAVE | I2C_INT_ARB_Lost | I2C_INT_NO_ACK | I2C_INT_STOP_Condition);
I2C_setFIFO InterruptLevel (I2CB_BASE,I2C_FIFO,TXEMPTY,I2C_FIFO,RX16);
I2C_enableInterrupt (I2CB_BASE,I2C_INT_ADDR_SLAVE | I2C_INT_ARB_Lost | I2C_INT_NO_ACK | I2C_INT_STOP_Condition);
I2C_setEmulation Mode (I2CB_BASE,I2C_EMENCENT_FREE_RUN);   //此设置的含义是什么?
I2C_enableModule (I2CB_BASE);

关于 此I2CB工作从属发射器 的初始化,请给出正确的解释?

问题2:关于中断。  

以下句子是 在i2c_Ex5_MASTER_SLAVE_INTERRUT.c 文件中设置的  

//
//设置I2C使用,为FIFO模式初始化它
//

中断注册(INT_I2CA,&i2cAISR);
中断启用(INT_I2CA);

中断注册(INT_I2CB,&i2cBIR);
中断启用(INT_I2CB);

中断注册(INT_I2CA_FIFO,&i2cAFIFOISR);
中断启用(INT_I2CA_FIFO);

中断注册(INT_I2CB_FIFO,&i2cBFIFO);
中断启用(INT_I2CB_FIFO);

此设置意味 着基本I2C中断和 I2C FIFO中断都正常工作,对吗?

我们检查 了TMS320F2.8002万x实时微控制器技术参考手册中的中断信息,其中说我们一次只使用一个中断。

那么为什么这个示例将中断设置为工作?  我们如何理解这些示例?

问题3:关于数据结构

结构I2CHandle

uINT32_t基数;
UINT16_t SlaveAddr;//绑定到邮件的从属地址。
uINT32_t *pControlAddr;   
UINT16_t数字地址字节;
UINT16_t *PTX_MsgBuffer;//指向TX消息缓冲区的指针
UINT16_t *prx_MsgBuffer;//指向RX消息缓冲区的指针
UINT16_t NumOfDataBytes;//消息中的有效字节数。
struct I2CHandle *currentHandlePtr;

UINT16_t编号十六字节;
UINT16_t余数字节;
};

请说明以下变量的含义:

uINT32_t *pControlAddr;  

UINT16_t数字地址字节;

struct I2CHandle *currentHandlePtr;

UINT16_t编号十六字节;

UINT16_t余数字节;

问题4:关于I2CA作为主接收器

我们希望使用master每秒从从属设备读取一次数据。

但现在我们不知道示例中的哪个函数适合使用。  

如果文件中没有说明,如何写,请给我们一些建议!

真诚等待您的快速回复  

非常感谢

Serena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    问题28.0025万问题1:如何设置  I2CB工作从模块的初始化。

    当I2CA (主)传输I2CB从属地址时,将触发i2cBIR中断,因为I2CA已寻址I2CB从属地址。 在ISR例程中,当它执行handleI2C_ErrorCondition (&I2CB)函数时,它执行I2C_INTSRC ADDR_SLAVE CASE语句,其中它读取I2CSTR.SDIR位以确定是否需要配置从属发射器(或)从属接收器。

    问题28.0025万问题2:关于中断。  [/引述]

    是的,示例中的两个I2C中断。

    我们109.3219万我们在28.0025万在 TMS320F2.8002万x实时微控制器技术参考手册中检查了中断信息,它说我们只在同一时间使用了一个中断。[/报价]

    此信息不正确。 您在哪里找到此信息? 您是否可以将TRM片段发送到提供此信息的位置。

    问题28.0025万问题3:关于数据结构
    [/quote]

    pControlAddr–您尝试读取的从属设备的内存地址

    • 启动条件+ I2CB从属地址+读取位+来自I2CB的ACK (这将I2CB置于从属发射器模式)
    • 然后,I2CA传输存储在pControlAddress中的值

     NumOfAddrBytes–如果您尝试读取从属设备0x3F8020的内容,则NumOfAddrBytes为4字节

     currentHandlePtr–指向I2C句柄结构的指针。

    numofSixteenByte–不供用户配置。 由示例用于计算要传输/接收的16个字节的数量

    剩余字节数 -不供用户配置。 由示例用于计算传输/接收的剩余字节数

    例如:如果您想要传输/接收36字节。

    然后,

    十六字节数字=2 (2 x 16字节=32字节)

    余数字节 =4字节

    </s>28.0025万

    问题4:关于I2CA作为主接收器

    我们希望使用master每秒从从属设备读取一次数据。

    [/引述]

      I2CA.currentHandlePtr =&I2CA;
       I2CA.BASE                    = I2CA_BASE;
       I2CA.SlaveAddr       =设备的从属地址
       I2CA.pControlAddr    =&I2CA_ControlAddr;
       I2CA.NumOfAddrBytes  =2;//取决于从属设备。 但通常为2字节
       I2CA.PTX_MsgBuffer   = I2CA_TXdata;
       I2CA.prx_MsgBuffer   = I2CA_RXdata;
       I2CA.NumOfDataBytes  =1;//要接收的字节数

    此致,

    Manoj

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

    Manoj您好:

    感谢您的回复。

    我理解您对问题1-3的回答。  

    但对于问题4,我有一些疑问。

    我们的主板希望每500毫秒从从属板获取一次数据。因此我们需要一个功能来每500毫秒启动I2CA模块(作为主)。

    那么,什么功能可以满足我们的需求? 目前 ,我们使用函数 I2C_TransmitSlaveAddress_ControlBytes(&I2CA)进行测试。

    此功能可以每发送一个500毫秒的数据,但从属设备没有给出任何回复。请参见下图

    SlaveID是0x40,所以0x40<1 是ox80。所以SlaveID是对的!

    因此,如果我们使用更正后的功能启动,为什么不使用从属回复,请真诚地告诉我们。

    另外,如果我们使用错误的函数来启动I2C模块,请告诉正确的函数。

    我们将您的官方示例2中的所有代码用于主板和从属板,同时 屏蔽正在使用的示例1,3,4 初始化。

    因此,对于目前的结果,我们不知道错误在哪里,请检查并回复  

    非常感谢!

    Serena

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

    Serena,

    明天是美国的假期,请期待我们的下一封邮件将于周一回复。

    最佳,

    Matthew

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

    Matthew,您好!  

    享受您的假期!  我们将在下星期一等待您的回复!

    希望您能尽快回复,因为我们还不成熟!

    谢谢你  

    Serena

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

    Matthew,您好!  

    享受您的假期!  我们将在下星期一等待您的回复!

    希望您能尽快回复,因为我们还不成熟!

    谢谢你  

    Serena

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

    Serena,

    您需要使用主接收器功能。 但是,根据您的信息,看起来您的奴隶甚至不承认。 如果从属地址为0x40,则需要在I2CSAR寄存器中设置0x40。 当您观察I2C总线时,它看起来像0x80,因为lsb是'R'/'W'位。

    此外,设置您的逻辑分析器以正确读取I2C总线。 您似乎已切换数据和时钟信道。

    此致,

    Manoj

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

    您好Manoj,  

    我们设置我们的逻辑分析器,以获取SCL和SDA信号文件并发送给您。

    是的,当主服务器将SlaveID发送给它时,从属服务器没有给出确认。在您的官方示例2中,SlaveID在 初始化期间设置为0x40。

    所以,我们不知道  当主发送SlaveID时,为什么从属设备不发送确认?

    请检查您的官方示例2的代码,然后告诉我们它的确切位置。

    非常感谢

    Serena

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

    您是否正在尝试使示例代码正常工作? (或)您正在尝试与另一个从属设备通话? 请澄清。

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

    您好Manoj,  

    是的,我们想让示例2代码正常工作,但失败了。请告诉我们原因。

    我们没有尝试与另一个从属设备通话。

    谢谢你  

    Serena

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

    Serena,

    您是否确保I2CA和I2CB之间的硬件连接正确?

    //
    // I2C
    //
    #define device_gPIO_PIN_SDAA       26U // I2C SDAA的GPIO编号
    #define DEVICE_GPIO _PIN_SCLA       27U // I2C SCLA的GPIO编号
    #define DEVICE_GPIO_CFG_SDAA       GPIO _26_I2CA_SDA //"pinConfig" for I2C SDAA
    #define DEVICE_GPIO_CFG_SCLA       GPIO_27_I2CA_SCL //"pinConfig" for I2C SCLA

    //I2CB GPIO引脚
    #define device_gPIO_PIN_SDAB   2.
    #define device_gPIO_PIN_SCLB   3.

    #define device_gPIO_CFG_SDAB gPIO_2_I2CB_SDA
    #define device_gPIO_CFG_SCLB gPIO_3_I2CB_SCL

    此致,

    Manoj

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

    另外,检查I2C引脚是否被上拉。

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

    Manoj,  

    我们确保在I2CA和I2CB之间建立连接。

    ----------------
    //! 信号| I2CA | I2CB
    //! ----------------
    //! SCL | GPIO27 | GPIO3
    //! SDA | GPIO26 | GPIO2
    //! ----------------

    谢谢你  

    Serena

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

    Manoj,SCL和SDA引脚被上拉,电阻为4.7K  

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

    您是否使用自己的硬件? (或) Launchpad /控制卡?

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

    您好,Manoj,  

    我们使用您的官方开发套件板作为主板,从属设备是我们自己的硬件。

    请参见下图:

    谢谢你  

    Serena

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

    Serena,

    您是否可以尝试在启动板(F28.0025万)上连接I2CA和I2CB并检查代码是否正常工作? 如果您在单独的主板上测试它们,此代码可能不起作用。

    此致,

    Manoj

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

    Manoj,  

    现在,我们将I2CA连接到I2CB,按照您的建议如下:  

    用黄色电线连接SCL:GPIO27 -> GPIO3

    绿线连接SDA: GPIO26 -> GPIO2

    但我们也收到如下信号:

    我们可以知道,奴隶也回答了nack。

    请提供帮助。

    谢谢你  

    Serena

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

    Manoj,  

    另一个问题:  

    主控制器设置为每500毫秒从从属设备接收一次数据,我们将运行:I2C_TransmitSlaveAddress_ControlBytes(&I2CA);

    此功能将在计时器中断时每500毫秒启动一次。  

    那么设置是否正确?

    Serena

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

    是否确定正在运行未经修改的代码?

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

    我们的第一步是从从属设备(I2CB)获取ACK。 只有在这之后,我们才能进行任何有意义的调试

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

    Manoj,  

    我们不会修改任何关于I2C的代码。

    我们只需添加Timer0作为计时器,就可以获得500ms TimeTick,用于发送主控的I2C启动功能: I2C_TransmitSlaveAddress_ControlBytes(&I2CA);

    请告诉您如何触发主I2C启动?  

    我已经问过几次,但没有得到你们的答复。所以这次,请告诉你们  

    Serena

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

    I2C主设备需要将启动条件+ SlaveID发送 到从属设备,然后从设备应答ACK。

    所以我不知道你的意思是什么  

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

    当I2CB (从机)未确认I2CA (主机)时,担心计时器功能为时过早

    每500毫秒,如果您要从I2CB (从属)读取内容,则需要使用主接收器功能。

    以下是我的建议,以便继续:

    1)让我们获取未经修改的示例代码  

    I2C_Ex5_MASTER_SLAVER_INTERRUCER.c正在启动板上工作

    2)一旦您获得未经修改的代码,则包括计时器功能,并在launchpad上使其正常工作

    此致,

    Manoj

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

    Manoj,  

    我们可以取消计时器并恢复所有代码。但这不能传输任何数据。因为主控制器不发送任何启动条件,所以它不能触发中断代码,因此没有传输数据。

    那么  ,请告诉我如何设置主设备的启动条件以触发中断代码?

    但从那时起,我们就问了几次如何设置师父的开头,你们对此没有回答。

    顺便说一下,您是否自己检查了此示例代码?

    谢谢你

    Serena

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

    Serena,

    是的,此代码已经过测试,当我们在2021年发布该代码时,它确实在我的设置中起作用。 很遗憾,我现在没有硬件可以检查它。

    请109.3219万请  告诉28.0025万告诉我405.8043万我如何405.8043万如何设置主启动条件以触发中断代码?

    当I2C_MasterReceiver (&I2CA)函数执行时,这是代码执行流:

    I2C_MasterReceiver (&I2CA)-> I2C_TransmitSlaveAddress_ControlBytes (I2C_Params)-> I2C_sendStartCondition (BASE)

    I2C_sendStartCondition函数生成启动条件。

    根据您的逻辑分析器快照,它清楚地告诉我已生成启动条件,但I2CB未发送确认信号。 所以,我不明白为什么要问如何设置“师父的起动条件”。

    当I2CB被定址为从属设备时,它将生成中断。

    此致,

    Manoj

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

    Manoj,  

    I2C_MasterReceiver (&I2CA),此函数在初始化期间调用, 因此只需一次将启动条件发送到从属设备。

    然后程序将进入while (1); 但 I2C_MasterReceiver (&I2CA)在 初始化后的任何位置都不被调用。因此没有主程序的启动条件,如何将SlaveID发送到从属设备?  这就是为什么我要问如何启动条件。 我们希望当我们需要从机数据时,主机可以启动条件来读取数据,所以如果 需要知道哪个函数适合我们的需要。现在我们使用 I2C_MasterReceiver(&I2CA)  或  I2C_TransmitSlaveAddress_ControlBytes(&I2CA) 来尝试, 但我们不确定,所以我问了你们几次。

    如果我们不每      500毫秒添加Timer0代码并调用I2C_MasterReceiver (&I2CA)或I2C_TransmitSlaveAddress_ControlBytes (&I2CA), SCL和SDA线路是空闲的,但 在初始化后没有通过它们的数据。请再次考虑您的代码。

    如果 一切正常,请告诉whick语句将回答ACK。  

    最后,您是否可以让一块电路板再次测试您的代码?

    谢谢你  

    Serena

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

    Serena,

    </s>28.0025万 405.8338万405.8338万

    I2C_MasterReceiver (&I2CA),此函数在初始化期间调用, 因此只需一次将启动条件发送到从属设备。

    然后程序将进入while (1); 但 I2C_MasterReceiver (&I2CA)在 初始化后的任何位置都不被调用。因此没有主程序的启动条件,如何将SlaveID发送到从属设备?  这就是为什么我要询问“如何启动条件”。  

    [/引述]

    我不明白我想说什么。 每次您的CAN接收从机(I2CB)的数据时,您都需要使用I2C_MasterReceiver功能。 这包含从从属设备读取数据所需的所有代码。 I2C_MasterReceiver不是初始化代码,它具有从从属设备读取内容所需的所有功能。

    在您的情况下,I2CB未发送ACK。 这是一种错误情况。 这就是您无法阅读任何内容的原因。

    简而言之,每当您要读取从属数据时,都需要调用I2C_MasterReceiver功能。

    最后28.0025万最后,405.8338万,您405.8338万您是否可以获得一个主板来再次测试您的代码?

    我已经申请了主板,它将于周一发货。 我将尝试示例代码,因为它是为了确认发布的示例代码是否确实有效。 在我的回应中,我亦会尝试显示有关的联系。

    此致,

    Manoj

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

    您好Manoj,  

    感谢您的善意回应。

    我们将在  将来使用I2C_MasterReceiver函数询问从属设备的数据,而不再使用  I2C_TransmitSlaveAddress_ControlBytes(&I2CA)。

    我们很高兴听到您的主板将于星期一到达,接下来我们将分享有关代码的信息。

    保持联系!

    此致

    Serena

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

    星期一发运。 我将于周二在休斯顿收到。

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

    Manoj  

    好的,谢谢!

    Serena

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

    请在接下来的2个工作日内更新。

    我将确认所提供的示例(i2c_Ex5_MASTER_SLAVER_INTERRUCER.c)是否工作正常(或)。

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

    好的,Manoj  

    我正在等待您的回复。

    谢谢你  

    Serena

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

    到目前为止还没有收到过主板。 它说它将在明天上午交付。

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

    Serena,

    今天收到主板并测试了示例代码(i2c_Ex5_MASTER_SLAVE_INTERRUPT)。

    对我来说,一切都顺利。 我没有做任何具体的事情。 因此,您的设置有问题。

    以下是我的连接详细信息:

    我在同一主板上连接了I2CA和I2CB。

      I2CA I2CB
    CLK 27. 3.
    日期 26.

    请勿尝试以下快照中所示的此示例。 这不奏效。

    此致,

    Manoj

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

    你好,Manoj;

    很高兴听到您的消息,您能告诉我逻辑分析器捕获的数据吗?

    你能不能每500毫秒测试一次从从属设备获取数据?

    谢谢你  

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

    Serena,

    下面是您请求的逻辑分析器片段。

    要每500毫秒触发一次从从属设备接收数据,您可以考虑使用CPU计时器(或) PWM触发中断。 在中断服务例程内,您需要在ISR例程内调用I2C_MasterReceiver函数(非常简单)。

    此外,了解C2000WAre中提供的内容只是一个示例代码。 在大多数情况下,您必须修改示例代码以满足应用程序的需要。 如果我是您,我会先尝试运行示例代码并了解代码。

    此致,

    Manoj

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

    您好,Manoj,  

    谢谢,我将首先仔细阅读您的示例代码,然后再次进行测试。  

    假期快乐

    Serena