主要内容

I2C主读

从I2C从设备或I2C从设备寄存器读取数据

  • 库:
  • 金宝appSimulink编码金宝app器支持包BBC micro:bit/Basic

    金宝appSimulink C金宝appoder支持包意法半导体Nucleo板/通用

    金宝appSimulink C金宝appoder支持包STMicroelectronics Discovery Boards/ STM32F746G-Discovery

    金宝app基于STM32F76金宝app9I-Discovery的Simulink Coder支持包

  • I2C主读块

描述

I2C主读block从连接到单板的I2C从设备读取串行数据。使用此块,您可以从I2C从设备上的特定寄存器读取数据。

有关I2C通信的更多信息,请参见金宝app支持I2C通信

港口

输出

全部展开

该端口从单板上的I2C设备读取矢量数据。类型中指定的值就是数据的大小数据大小参数。

数据类型:int8|uint8|int16|uint16|int32|uint32||

当你选择输出错误状态参数,输出端口,标记为状态,变为可用。

端口输出每个读请求的状态,如下表所示:

返回状态码

状态 描述
0 成功
1
2 ARBITRATION_LOST
4 NO_ACKNOWLEDGE
8 BUS_ERROR
16 BUS_NOT_IN_USE

数据类型:uint8

参数

全部展开

指定单板上的I2C模块从I2C从设备读取数据。

指定读取数据的I2C从地址。可以以16进制形式指定此地址hex2dec ()例如,' hex2dec(' 20 ') '。

2字节排序选项是:

  • BigEndian -最重要的字节首先通过I2C总线发送。

  • LittleEndian -最不重要的字节首先通过I2C总线发送。

选项中指定的I2C从寄存器中读取数据从寄存器地址参数。

清除此参数时,在数据传输结束时发送NACK而且在数据传输结束时删除停止位显示参数。通过这些参数,可以根据需要修改读操作。

指定I2C寄存器地址来读取数据。

使用将此地址指定为整数或十六进制格式hex2dec ()例如,' hex2dec(' 20 ') '。

有关寄存器读/写的更多信息,请参见I2C寄存器读写

依赖关系

选择后,此参数才会显示启用寄存器访问参数。

选择要从I2C从设备读取的数据类型。

指定要从I2C从设备读取所选数据类型的数据大小。

选择此参数时,将I2C主读block用最后一个字节向从设备发送一个NACK(不确认)位。

当从设备接收到NACK时,它等待I2C主块的STOP条件。主块生成一个STOP条件以终止传输,或者一个重复的START条件以开始新的传输。

清除此参数时,I2C主读块在每个字节的末尾向从设备发送一个ACK(确认)位。ACK表示I2C主读块准备从从设备读取下一个字节。

依赖关系

该参数仅在清除时出现启用寄存器访问参数。

当清除此参数时,块发送一个STOP条件。这种情况表明该块已经终止了数据传输,并且I2C总线可以让任何其他I2C主块启动新的读写操作。

当选择此参数时,块将发送另一个START条件,后面跟着一个地址和读写位。块递归地发送任意数量的启动条件。这种重复的START条件允许在不释放总线的情况下对从设备进行写操作。没有其他主块中断操作。

依赖关系

该参数仅在清除时出现启用寄存器访问参数。

当您选择此参数时,一个输出端口,标记为状态,变为可用。

端口输出0读取操作成功。

指定I2C主读block从I2C从设备读取数据。当您将此参数指定为-1,块根据模型中块的上下文继承它的采样时间。

另请参阅