Data Structures | Macros | Typedefs | Enumerations | Variables
I2CMSP432E4.h File Reference

Detailed Description

I2C driver implementation for a MSP432E4 I2C controller.


The I2C header file should be included in an application as follows:

Refer to I2C.h for a complete description of APIs & example of use.

Supported Bit Rates

Using High Speed Mode (I2C_3330kHz)

When operating at I2C_3330kHz, the I2CMSP432E4_HWAttrs.masterCode must be provided. If the master code is not provided, I2C_open() will fail. This driver assumes that the system clock is 120MHz. If the system clock is not 120MHz, I2C_open() will fail.

#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <ti/devices/msp432e4/inc/msp432.h>
#include <ti/devices/msp432e4/driverlib/gpio.h>
#include <ti/devices/msp432e4/driverlib/pin_map.h>
#include <ti/drivers/dpl/SemaphoreP.h>
#include <ti/drivers/dpl/HwiP.h>
#include <ti/drivers/gpio/GPIOMSP432E4.h>
#include <ti/drivers/I2C.h>
Include dependency graph for I2CMSP432E4.h:

Go to the source code of this file.

Data Structures

struct  I2CMSP432E4_HWAttrs_
 I2CMSP432E4 Hardware attributes. More...
 
struct  I2CMSP432E4_Object_
 I2CMSP432E4 Object. More...
 

Macros

#define I2CMSP432E4_PB2_I2C0SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTB, 2, GPIO_PB2_I2C0SCL)
 PB2 is used for I2C0SCL. More...
 
#define I2CMSP432E4_PB3_I2C0SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTB, 3, GPIO_PB3_I2C0SDA)
 PB3 is used for I2C0SDA. More...
 
#define I2CMSP432E4_PG0_I2C1SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTG, 0, GPIO_PG0_I2C1SCL)
 PG0 is used for I2C1SCL. More...
 
#define I2CMSP432E4_PR0_I2C1SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTR, 0, GPIO_PR0_I2C1SCL)
 PR0 is used for I2C1SCL. More...
 
#define I2CMSP432E4_PG1_I2C1SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTG, 1, GPIO_PG1_I2C1SDA)
 PG1 is used for I2C1SDA. More...
 
#define I2CMSP432E4_PR1_I2C1SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTR, 1, GPIO_PR1_I2C1SDA)
 PR1 is used for I2C1SDA. More...
 
#define I2CMSP432E4_PL1_I2C2SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTL, 1, GPIO_PL1_I2C2SCL)
 PL1 is used for I2C2SCL. More...
 
#define I2CMSP432E4_PP5_I2C2SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTP, 5, GPIO_PP5_I2C2SCL)
 PP5 is used for I2C2SCL. More...
 
#define I2CMSP432E4_PN5_I2C2SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTN, 5, GPIO_PN5_I2C2SCL)
 PN5 is used for I2C2SCL. More...
 
#define I2CMSP432E4_PG2_I2C2SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTG, 2, GPIO_PG2_I2C2SCL)
 PG2 is used for I2C2SCL. More...
 
#define I2CMSP432E4_PR2_I2C2SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTR, 2, GPIO_PR2_I2C2SCL)
 PR2 is used for I2C2SCL. More...
 
#define I2CMSP432E4_PL0_I2C2SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTL, 0, GPIO_PL0_I2C2SDA)
 PL0 is used for I2C2SDA. More...
 
#define I2CMSP432E4_PN4_I2C2SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTN, 4, GPIO_PN4_I2C2SDA)
 PN4 is used for I2C2SDA. More...
 
#define I2CMSP432E4_PP6_I2C2SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTP, 6, GPIO_PP6_I2C2SDA)
 PP6 is used for I2C2SDA. More...
 
#define I2CMSP432E4_PG3_I2C2SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTG, 3, GPIO_PG3_I2C2SDA)
 PG3 is used for I2C2SDA. More...
 
#define I2CMSP432E4_PR3_I2C2SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTR, 3, GPIO_PR3_I2C2SDA)
 PR3 is used for I2C2SDA. More...
 
#define I2CMSP432E4_PK4_I2C3SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTK, 4, GPIO_PK4_I2C3SCL)
 PK4 is used for I2C3SCL. More...
 
#define I2CMSP432E4_PG4_I2C3SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTG, 4, GPIO_PG4_I2C3SCL)
 PG4 is used for I2C3SCL. More...
 
#define I2CMSP432E4_PR4_I2C3SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTR, 4, GPIO_PR4_I2C3SCL)
 PR4 is used for I2C3SCL. More...
 
#define I2CMSP432E4_PK5_I2C3SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTK, 5, GPIO_PK5_I2C3SDA)
 PK5 is used for I2C3SDA. More...
 
#define I2CMSP432E4_PG5_I2C3SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTG, 5, GPIO_PG5_I2C3SDA)
 PG5 is used for I2C3SDA. More...
 
#define I2CMSP432E4_PR5_I2C3SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTR, 5, GPIO_PR5_I2C3SDA)
 PR5 is used for I2C3SDA. More...
 
#define I2CMSP432E4_PK6_I2C4SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTK, 6, GPIO_PK6_I2C4SCL)
 PK6 is used for I2C4SCL. More...
 
#define I2CMSP432E4_PG6_I2C4SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTG, 6, GPIO_PG6_I2C4SCL)
 PG6 is used for I2C4SCL. More...
 
#define I2CMSP432E4_PR6_I2C4SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTR, 6, GPIO_PR6_I2C4SCL)
 PR6 is used for I2C4SCL. More...
 
#define I2CMSP432E4_PK7_I2C4SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTK, 7, GPIO_PK7_I2C4SDA)
 PK7 is used for I2C4SDA. More...
 
#define I2CMSP432E4_PG7_I2C4SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTG, 7, GPIO_PG7_I2C4SDA)
 PG7 is used for I2C4SDA. More...
 
#define I2CMSP432E4_PR7_I2C4SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTR, 7, GPIO_PR7_I2C4SDA)
 PR7 is used for I2C4SDA. More...
 
#define I2CMSP432E4_PB0_I2C5SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTB, 0, GPIO_PB0_I2C5SCL)
 PB0 is used for I2C5SCL. More...
 
#define I2CMSP432E4_PB4_I2C5SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTB, 4, GPIO_PB4_I2C5SCL)
 PB4 is used for I2C5SCL. More...
 
#define I2CMSP432E4_PB1_I2C5SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTB, 1, GPIO_PB1_I2C5SDA)
 PB1 is used for I2C5SDA. More...
 
#define I2CMSP432E4_PB5_I2C5SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTB, 5, GPIO_PB5_I2C5SDA)
 PB5 is used for I2C5SDA. More...
 
#define I2CMSP432E4_PA6_I2C6SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTA, 6, GPIO_PA6_I2C6SCL)
 PA6 is used for I2C6SCL. More...
 
#define I2CMSP432E4_PB6_I2C6SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTB, 6, GPIO_PB6_I2C6SCL)
 PB6 is used for I2C6SCL. More...
 
#define I2CMSP432E4_PA7_I2C6SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTA, 7, GPIO_PA7_I2C6SDA)
 PA7 is used for I2C6SDA. More...
 
#define I2CMSP432E4_PB7_I2C6SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTB, 7, GPIO_PB7_I2C6SDA)
 PB7 is used for I2C6SDA. More...
 
#define I2CMSP432E4_PD0_I2C7SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTD, 0, GPIO_PD0_I2C7SCL)
 PD0 is used for I2C7SCL. More...
 
#define I2CMSP432E4_PA4_I2C7SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTA, 4, GPIO_PA4_I2C7SCL)
 PA4 is used for I2C7SCL. More...
 
#define I2CMSP432E4_PD1_I2C7SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTD, 1, GPIO_PD1_I2C7SDA)
 PD1 is used for I2C7SDA. More...
 
#define I2CMSP432E4_PA5_I2C7SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTA, 5, GPIO_PA5_I2C7SDA)
 PA5 is used for I2C7SDA. More...
 
#define I2CMSP432E4_PD2_I2C8SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTD, 2, GPIO_PD2_I2C8SCL)
 PD2 is used for I2C8SCL. More...
 
#define I2CMSP432E4_PA2_I2C8SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTA, 2, GPIO_PA2_I2C8SCL)
 PA2 is used for I2C8SCL. More...
 
#define I2CMSP432E4_PD3_I2C8SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTD, 3, GPIO_PD3_I2C8SDA)
 PD3 is used for I2C8SDA. More...
 
#define I2CMSP432E4_PA3_I2C8SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTA, 3, GPIO_PA3_I2C8SDA)
 PA3 is used for I2C8SDA. More...
 
#define I2CMSP432E4_PA0_I2C9SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTA, 0, GPIO_PA0_I2C9SCL)
 PA0 is used for I2C9SCL. More...
 
#define I2CMSP432E4_PE6_I2C9SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTE, 6, GPIO_PE6_I2C9SCL)
 PE6 is used for I2C9SCL. More...
 
#define I2CMSP432E4_PA1_I2C9SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTA, 1, GPIO_PA1_I2C9SDA)
 PA1 is used for I2C9SDA. More...
 
#define I2CMSP432E4_PE7_I2C9SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTE, 7, GPIO_PE7_I2C9SDA)
 PE7 is used for I2C9SDA. More...
 

Typedefs

typedef enum I2CMSP432E4_Mode I2CMSP432E4_Mode
 I2CMSP432E4 mode. More...
 
typedef struct I2CMSP432E4_HWAttrs_ I2CMSP432E4_HWAttrs
 I2CMSP432E4 Hardware attributes. More...
 
typedef struct I2CMSP432E4_Object_ I2CMSP432E4_Object
 I2CMSP432E4 Object. More...
 

Enumerations

enum  I2CMSP432E4_Mode { I2CMSP432E4_IDLE_MODE = 0, I2CMSP432E4_WRITE_MODE, I2CMSP432E4_READ_MODE, I2CMSP432E4_ERROR = 0xFF }
 I2CMSP432E4 mode. More...
 

Variables

const I2C_FxnTable I2CMSP432E4_fxnTable
 

Macro Definition Documentation

§ I2CMSP432E4_PB2_I2C0SCL

#define I2CMSP432E4_PB2_I2C0SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTB, 2, GPIO_PB2_I2C0SCL)

PB2 is used for I2C0SCL.

§ I2CMSP432E4_PB3_I2C0SDA

#define I2CMSP432E4_PB3_I2C0SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTB, 3, GPIO_PB3_I2C0SDA)

PB3 is used for I2C0SDA.

§ I2CMSP432E4_PG0_I2C1SCL

#define I2CMSP432E4_PG0_I2C1SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTG, 0, GPIO_PG0_I2C1SCL)

PG0 is used for I2C1SCL.

§ I2CMSP432E4_PR0_I2C1SCL

#define I2CMSP432E4_PR0_I2C1SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTR, 0, GPIO_PR0_I2C1SCL)

PR0 is used for I2C1SCL.

§ I2CMSP432E4_PG1_I2C1SDA

#define I2CMSP432E4_PG1_I2C1SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTG, 1, GPIO_PG1_I2C1SDA)

PG1 is used for I2C1SDA.

§ I2CMSP432E4_PR1_I2C1SDA

#define I2CMSP432E4_PR1_I2C1SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTR, 1, GPIO_PR1_I2C1SDA)

PR1 is used for I2C1SDA.

§ I2CMSP432E4_PL1_I2C2SCL

#define I2CMSP432E4_PL1_I2C2SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTL, 1, GPIO_PL1_I2C2SCL)

PL1 is used for I2C2SCL.

§ I2CMSP432E4_PP5_I2C2SCL

#define I2CMSP432E4_PP5_I2C2SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTP, 5, GPIO_PP5_I2C2SCL)

PP5 is used for I2C2SCL.

§ I2CMSP432E4_PN5_I2C2SCL

#define I2CMSP432E4_PN5_I2C2SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTN, 5, GPIO_PN5_I2C2SCL)

PN5 is used for I2C2SCL.

§ I2CMSP432E4_PG2_I2C2SCL

#define I2CMSP432E4_PG2_I2C2SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTG, 2, GPIO_PG2_I2C2SCL)

PG2 is used for I2C2SCL.

§ I2CMSP432E4_PR2_I2C2SCL

#define I2CMSP432E4_PR2_I2C2SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTR, 2, GPIO_PR2_I2C2SCL)

PR2 is used for I2C2SCL.

§ I2CMSP432E4_PL0_I2C2SDA

#define I2CMSP432E4_PL0_I2C2SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTL, 0, GPIO_PL0_I2C2SDA)

PL0 is used for I2C2SDA.

§ I2CMSP432E4_PN4_I2C2SDA

#define I2CMSP432E4_PN4_I2C2SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTN, 4, GPIO_PN4_I2C2SDA)

PN4 is used for I2C2SDA.

§ I2CMSP432E4_PP6_I2C2SDA

#define I2CMSP432E4_PP6_I2C2SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTP, 6, GPIO_PP6_I2C2SDA)

PP6 is used for I2C2SDA.

§ I2CMSP432E4_PG3_I2C2SDA

#define I2CMSP432E4_PG3_I2C2SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTG, 3, GPIO_PG3_I2C2SDA)

PG3 is used for I2C2SDA.

§ I2CMSP432E4_PR3_I2C2SDA

#define I2CMSP432E4_PR3_I2C2SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTR, 3, GPIO_PR3_I2C2SDA)

PR3 is used for I2C2SDA.

§ I2CMSP432E4_PK4_I2C3SCL

#define I2CMSP432E4_PK4_I2C3SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTK, 4, GPIO_PK4_I2C3SCL)

PK4 is used for I2C3SCL.

§ I2CMSP432E4_PG4_I2C3SCL

#define I2CMSP432E4_PG4_I2C3SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTG, 4, GPIO_PG4_I2C3SCL)

PG4 is used for I2C3SCL.

§ I2CMSP432E4_PR4_I2C3SCL

#define I2CMSP432E4_PR4_I2C3SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTR, 4, GPIO_PR4_I2C3SCL)

PR4 is used for I2C3SCL.

§ I2CMSP432E4_PK5_I2C3SDA

#define I2CMSP432E4_PK5_I2C3SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTK, 5, GPIO_PK5_I2C3SDA)

PK5 is used for I2C3SDA.

§ I2CMSP432E4_PG5_I2C3SDA

#define I2CMSP432E4_PG5_I2C3SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTG, 5, GPIO_PG5_I2C3SDA)

PG5 is used for I2C3SDA.

§ I2CMSP432E4_PR5_I2C3SDA

#define I2CMSP432E4_PR5_I2C3SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTR, 5, GPIO_PR5_I2C3SDA)

PR5 is used for I2C3SDA.

§ I2CMSP432E4_PK6_I2C4SCL

#define I2CMSP432E4_PK6_I2C4SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTK, 6, GPIO_PK6_I2C4SCL)

PK6 is used for I2C4SCL.

§ I2CMSP432E4_PG6_I2C4SCL

#define I2CMSP432E4_PG6_I2C4SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTG, 6, GPIO_PG6_I2C4SCL)

PG6 is used for I2C4SCL.

§ I2CMSP432E4_PR6_I2C4SCL

#define I2CMSP432E4_PR6_I2C4SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTR, 6, GPIO_PR6_I2C4SCL)

PR6 is used for I2C4SCL.

§ I2CMSP432E4_PK7_I2C4SDA

#define I2CMSP432E4_PK7_I2C4SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTK, 7, GPIO_PK7_I2C4SDA)

PK7 is used for I2C4SDA.

§ I2CMSP432E4_PG7_I2C4SDA

#define I2CMSP432E4_PG7_I2C4SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTG, 7, GPIO_PG7_I2C4SDA)

PG7 is used for I2C4SDA.

§ I2CMSP432E4_PR7_I2C4SDA

#define I2CMSP432E4_PR7_I2C4SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTR, 7, GPIO_PR7_I2C4SDA)

PR7 is used for I2C4SDA.

§ I2CMSP432E4_PB0_I2C5SCL

#define I2CMSP432E4_PB0_I2C5SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTB, 0, GPIO_PB0_I2C5SCL)

PB0 is used for I2C5SCL.

§ I2CMSP432E4_PB4_I2C5SCL

#define I2CMSP432E4_PB4_I2C5SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTB, 4, GPIO_PB4_I2C5SCL)

PB4 is used for I2C5SCL.

§ I2CMSP432E4_PB1_I2C5SDA

#define I2CMSP432E4_PB1_I2C5SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTB, 1, GPIO_PB1_I2C5SDA)

PB1 is used for I2C5SDA.

§ I2CMSP432E4_PB5_I2C5SDA

#define I2CMSP432E4_PB5_I2C5SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTB, 5, GPIO_PB5_I2C5SDA)

PB5 is used for I2C5SDA.

§ I2CMSP432E4_PA6_I2C6SCL

#define I2CMSP432E4_PA6_I2C6SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTA, 6, GPIO_PA6_I2C6SCL)

PA6 is used for I2C6SCL.

§ I2CMSP432E4_PB6_I2C6SCL

#define I2CMSP432E4_PB6_I2C6SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTB, 6, GPIO_PB6_I2C6SCL)

PB6 is used for I2C6SCL.

§ I2CMSP432E4_PA7_I2C6SDA

#define I2CMSP432E4_PA7_I2C6SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTA, 7, GPIO_PA7_I2C6SDA)

PA7 is used for I2C6SDA.

§ I2CMSP432E4_PB7_I2C6SDA

#define I2CMSP432E4_PB7_I2C6SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTB, 7, GPIO_PB7_I2C6SDA)

PB7 is used for I2C6SDA.

§ I2CMSP432E4_PD0_I2C7SCL

#define I2CMSP432E4_PD0_I2C7SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTD, 0, GPIO_PD0_I2C7SCL)

PD0 is used for I2C7SCL.

§ I2CMSP432E4_PA4_I2C7SCL

#define I2CMSP432E4_PA4_I2C7SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTA, 4, GPIO_PA4_I2C7SCL)

PA4 is used for I2C7SCL.

§ I2CMSP432E4_PD1_I2C7SDA

#define I2CMSP432E4_PD1_I2C7SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTD, 1, GPIO_PD1_I2C7SDA)

PD1 is used for I2C7SDA.

§ I2CMSP432E4_PA5_I2C7SDA

#define I2CMSP432E4_PA5_I2C7SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTA, 5, GPIO_PA5_I2C7SDA)

PA5 is used for I2C7SDA.

§ I2CMSP432E4_PD2_I2C8SCL

#define I2CMSP432E4_PD2_I2C8SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTD, 2, GPIO_PD2_I2C8SCL)

PD2 is used for I2C8SCL.

§ I2CMSP432E4_PA2_I2C8SCL

#define I2CMSP432E4_PA2_I2C8SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTA, 2, GPIO_PA2_I2C8SCL)

PA2 is used for I2C8SCL.

§ I2CMSP432E4_PD3_I2C8SDA

#define I2CMSP432E4_PD3_I2C8SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTD, 3, GPIO_PD3_I2C8SDA)

PD3 is used for I2C8SDA.

§ I2CMSP432E4_PA3_I2C8SDA

#define I2CMSP432E4_PA3_I2C8SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTA, 3, GPIO_PA3_I2C8SDA)

PA3 is used for I2C8SDA.

§ I2CMSP432E4_PA0_I2C9SCL

#define I2CMSP432E4_PA0_I2C9SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTA, 0, GPIO_PA0_I2C9SCL)

PA0 is used for I2C9SCL.

§ I2CMSP432E4_PE6_I2C9SCL

#define I2CMSP432E4_PE6_I2C9SCL   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTE, 6, GPIO_PE6_I2C9SCL)

PE6 is used for I2C9SCL.

§ I2CMSP432E4_PA1_I2C9SDA

#define I2CMSP432E4_PA1_I2C9SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTA, 1, GPIO_PA1_I2C9SDA)

PA1 is used for I2C9SDA.

§ I2CMSP432E4_PE7_I2C9SDA

#define I2CMSP432E4_PE7_I2C9SDA   GPIOMSP432E4_pinConfigMask(GPIOMSP432E4_PORTE, 7, GPIO_PE7_I2C9SDA)

PE7 is used for I2C9SDA.

Typedef Documentation

§ I2CMSP432E4_Mode

I2CMSP432E4 mode.

This enum defines the state of the I2C driver's state-machine. Do not modify.

§ I2CMSP432E4_HWAttrs

I2CMSP432E4 Hardware attributes.

The baseAddr and intNum fields are used by driverlib APIs and therefore must be populated by driverlib macro definitions. For MSP432E4 driverlib these definitions are found in:

  • ti/devices/msp432e4/inc/msp432e4x1y.h

intPriority is the I2C peripheral's interrupt priority, as defined by the underlying OS. It is passed unmodified to the underlying OS's interrupt handler creation code, so you need to refer to the OS documentation for usage. For example, for SYS/BIOS applications, refer to the ti.sysbios.family.arm.m3.Hwi documentation for SYS/BIOS usage of interrupt priorities. If the driver uses the ti.dpl interface instead of making OS calls directly, then the HwiP port handles the interrupt priority in an OS specific way. In the case of the SYS/BIOS port, intPriority is passed unmodified to Hwi_create().

A sample structure is shown below:

const I2CMSP432E4_HWAttrs i2cMSP432E4HWAttrs[] = {
{
.baseAddr = I2C7_BASE,
.intNum = INT_I2C7,
.intPriority = (~0),
.masterCode = 0x08
},
{
.baseAddr = I2C8_BASE,
.intNum = INT_I2C8,
.intPriority = (~0),
.masterCode = 0x09
},
};

§ I2CMSP432E4_Object

I2CMSP432E4 Object.

The application must not access any member variables of this structure!

Enumeration Type Documentation

§ I2CMSP432E4_Mode

I2CMSP432E4 mode.

This enum defines the state of the I2C driver's state-machine. Do not modify.

Enumerator
I2CMSP432E4_IDLE_MODE 
I2CMSP432E4_WRITE_MODE 
I2CMSP432E4_READ_MODE 
I2CMSP432E4_ERROR 

Variable Documentation

§ I2CMSP432E4_fxnTable

const I2C_FxnTable I2CMSP432E4_fxnTable
© Copyright 1995-2018, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale