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.
您好:
我想问一下 TMS320F28033的 I2C 通信。启用 FIFO 模块、FIFO 模块的深度为4。 根据
下图、在 I2caRegs.I2CSAR 寄存器中配置了 E2PROM 时序控制字节、写入 E2PROM 的地址和数据在中配置
I2caRegs.I2CDXR 寄存器。 ControlByte 是否会占用 FIFO 中的空间? 例如、如果我现在要传输16位数据、则地址被分成高位
和状态、总共16位和2字节的数据位。 这种配置是否可行? 谢谢~
您好、Xiaolin、
[引用 userid="494756" URL"~/support/microcontrol/C2000-microcontrol-group/C2000/f/C2000-microcontrol-forum/1115574/tms320f28033-tms320f28033"] ControlByte 是否会占用 FIFO 中的空间?是的、它将需要。
我们在 C2000WARE 中提供了适用于 F2803x 器件的 I2C EEPROM 软件示例。
您也可以查看下面 F2806x 示例中使用的 I2C 驱动程序文件、因为它们可能更易于利用:
最棒的
Kevin
这意味着2803X I2C、FIFO 深度为4、ControlByte 占用8位、在 I2caRegs.I2CSAR 寄存器中配置、具有高地址和低地址、总共16位
剩余8位、一次只能传输8位数据?
尊敬的 Kevin:
感谢您对本主题的友好支持。 这是我的客户提出的问题。
实际上、"控制字节"占用 FIFO 空间这一事实并不是我所知道的。
如果我的理解是正确的、为了实现上述通信、客户仍然需要使用8位地址模式(控制字节配置为地址)。 这也会占用 FIFO 空间吗? 您能帮助确认这一点吗?
"地址高/低字节"将是数据字节、这肯定需要2个字节。 我认为这是肯定的。
此致、
Brian
您好 Brian、
[引用 userid="3205100" URL"~μ C/support/microcontrollers/C2000-microcontrollers-group/C2000/f/C2000-microcontrollers-forum/1115574/tms320f28033-tms320f28033/4135799#4135799"]如果我的理解是正确的、为了实现上述通信、客户仍然需要使用8位地址模式(控制字节配置为地址)。 这也会占用 FIFO 空间吗? 您能帮助确认这一点吗?
"地址高/低字节"将是数据字节、这肯定需要2个字节。 我认为这是肯定的。
[/报价]抱歉、我没有注意到从地址表示为"控制字节"的图像。 那么您理解是完全正确的。 下面我也和绿色邓类似地回答了这一问题:
在其他 I2C 器件中、控制字节通常记录为从器件地址之后的字节、这就是我感到困惑的原因。
最棒的
Kevin
大家好、Kevin:
我们所讨论的 ControlByte 是指读取和写入 E2PROM 数据格式。 ControlByte 在 I2caRegs.I2CSAR 中配置、而地址为
(高字节和低字节)和数据在 I2caRegs.I2CDXR 寄存器中配置、根据您的说法、I2caRegs.I2CSAR 不会占用 FIFO
空间、是否只有在 I2caRegs.I2CDXR 中配置的数据才会占用 FIFO 空间?
E2PROM 写入数据的格式如下所示:μ:
谢谢~
您好、Xiaolin、
在这种情况下、我认为控制字节配置为地址、而地址高/低字节和数据都配置为占用 FIFO 的数据。 因此、您应该能够每次传输2个数据字节(2个字节地址+ 2个字节数据)。
此致、
Brian