All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
I2C µCOS/II Driver
I2C: Inter-Integrated Circuit Driver

## Overview

## Data Structures

struct | i2c_rtos_handle_t
| I2C FreeRTOS handle. More...

## I2C RTOS Operation

status_t | I2C_RTOS_Init (i2c_rtos_handle_t *handle, I2C_Type *base, const i2c_master_config_t *masterConfig, uint32_t srcClock_Hz)
| Initializes I2C. More...
status_t | I2C_RTOS_Deinit (i2c_rtos_handle_t *handle)
| Deinitializes the I2C. More...
status_t | I2C_RTOS_Transfer (i2c_rtos_handle_t *handle, i2c_master_transfer_t *transfer)
| Performs I2C transfer. More...

## Data Structure Documentation

struct i2c_rtos_handle_t

### Data Fields

I2C_Type * | base
| I2C base address.
i2c_master_handle_t | drv_handle
| Handle of the underlying driver, treated as opaque by the RTOS layer.
SemaphoreHandle_t | mutex
| Mutex to lock the handle during a transfer.
SemaphoreHandle_t | sem
| Semaphore to notify and unblock task when transfer ends.
OS_EVENT * | mutex
| Mutex to lock the handle during a trasfer.
OS_FLAG_GRP * | event
| Semaphore to notify and unblock task when transfer ends.
OS_SEM | mutex
| Mutex to lock the handle during a trasfer.
OS_FLAG_GRP | event
| Semaphore to notify and unblock task when transfer ends.

## Function Documentation

status_t I2C_RTOS_Init | ( | i2c_rtos_handle_t * | handle,
|  | I2C_Type * | base,
|  | const i2c_master_config_t * | masterConfig,
|  | uint32_t | srcClock_Hz
| ) |  |

This function initializes the I2C module and the related RTOS context.

Parameters

  handle | The RTOS I2C handle, the pointer to an allocated space for RTOS context.
  base | The pointer base address of the I2C instance to initialize.
  masterConfig | Configuration structure to set-up I2C in master mode.
  srcClock_Hz | Frequency of input clock of the I2C module.

Returns
  status of the operation.

status_t I2C_RTOS_Deinit | ( | i2c_rtos_handle_t * | handle | ) |

This function deinitializes the I2C module and the related RTOS context.

Parameters

  handle | The RTOS I2C handle.

status_t I2C_RTOS_Transfer | ( | i2c_rtos_handle_t * | handle,
|  | i2c_master_transfer_t * | transfer
| ) |  |

This function performs an I2C transfer according to data given in the transfer structure.

Parameters

  handle | The RTOS I2C handle.
  transfer | Structure specifying the transfer parameters.

Returns
  status of the operation.