RP.I2C_Master

Entities

Simple Types

Tagged Types

Subtypes

Subprograms

Description

Configure

procedure Configure
   (This         : in out I2C_Master_Port;
    Baudrate     : Hertz;
    Address_Size : I2C_Address_Size := Address_Size_7b)
Parameters
This
Baudrate
Address_Size

I2C_Address_Size

type I2C_Address_Size is (Address_Size_7b, Address_Size_10b);
Enumeration Literal
Address_Size_7b
Address_Size_10b

I2C_Master_Port

type I2C_Master_Port
   (Num    : I2C_Number;
    Periph : not null access RP2040_SVD.I2C.I2C_Peripheral)
is new HAL.I2C.I2C_Port with private;

I2C_Number

subtype I2C_Number is Natural range 0 .. 1;

Master_Receive

procedure Master_Receive
  (This    : in out I2C_Master_Port;
   Addr    : HAL.I2C.I2C_Address;
   Data    : out HAL.I2C.I2C_Data;
   Status  : out HAL.I2C.I2C_Status;
   Timeout : Natural := 1000)
Parameters
This
Addr
Data
Status
Timeout

Master_Transmit

procedure Master_Transmit
  (This    : in out I2C_Master_Port;
   Addr    : HAL.I2C.I2C_Address;
   Data    : HAL.I2C.I2C_Data;
   Status  : out HAL.I2C.I2C_Status;
   Timeout : Natural := 1000)
Parameters
This
Addr
Data
Status
Timeout

Mem_Read

procedure Mem_Read
  (This          : in out I2C_Master_Port;
   Addr          : HAL.I2C.I2C_Address;
   Mem_Addr      : HAL.UInt16;
   Mem_Addr_Size : HAL.I2C.I2C_Memory_Address_Size;
   Data          : out HAL.I2C.I2C_Data;
   Status        : out HAL.I2C.I2C_Status;
   Timeout       : Natural := 1000)
Parameters
This
Addr
Mem_Addr
Mem_Addr_Size
Data
Status
Timeout

Mem_Write

procedure Mem_Write
  (This          : in out I2C_Master_Port;
   Addr          : HAL.I2C.I2C_Address;
   Mem_Addr      : HAL.UInt16;
   Mem_Addr_Size : HAL.I2C.I2C_Memory_Address_Size;
   Data          : HAL.I2C.I2C_Data;
   Status        : out HAL.I2C.I2C_Status;
   Timeout       : Natural := 1000)
Parameters
This
Addr
Mem_Addr
Mem_Addr_Size
Data
Status
Timeout