主题中讨论的其他部件: 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





