TwiceAsNice  2019-02-18
Macros | Functions
twimaster.cpp File Reference
#include <inttypes.h>
#include <compat/twi.h>
#include "i2cmaster.h"
Include dependency graph for twimaster.cpp:

Macros

#define F_CPU   16000000UL
 
#define SCL_CLOCK   50000L
 

Functions

void i2c_init (void)
 
initialize the I2C master interace. More...
 
unsigned char i2c_start (unsigned char address)
 
Issues a start condition and sends address and transfer direction More...
 
void i2c_start_wait (unsigned char address)
 
Issues a start condition and sends address and transfer direction More...
 
unsigned char i2c_rep_start (unsigned char address)
 
Issues a repeated start condition and sends address and transfer direction More...
 
void i2c_stop (void)
 
Terminates the data transfer and releases the I2C bus More...
 
unsigned char i2c_write (unsigned char data)
 
Send one byte to I2C device More...
 
unsigned char i2c_readAck (void)
 
read one byte from the I2C device, request more data from device More...
 
unsigned char i2c_readNak (void)
 
read one byte from the I2C device, read is followed by a stop condition More...
 

Macro Definition Documentation

◆ F_CPU

#define F_CPU   16000000UL

◆ SCL_CLOCK

#define SCL_CLOCK   50000L

Function Documentation

◆ i2c_init()

void i2c_init ( void  )


initialize the I2C master interace.

Need to be called only once

Parameters
void
Returns
none

◆ i2c_readAck()

unsigned char i2c_readAck ( void  )


read one byte from the I2C device, request more data from device

Returns
byte read from I2C device

◆ i2c_readNak()

unsigned char i2c_readNak ( void  )


read one byte from the I2C device, read is followed by a stop condition

Returns
byte read from I2C device

◆ i2c_rep_start()

unsigned char i2c_rep_start ( unsigned char  addr)


Issues a repeated start condition and sends address and transfer direction

Parameters
addraddress and transfer direction of I2C device
Return values
0device accessible
1failed to access device

◆ i2c_start()

unsigned char i2c_start ( unsigned char  addr)


Issues a start condition and sends address and transfer direction

Parameters
addraddress and transfer direction of I2C device
Return values
0device accessible
1failed to access device

◆ i2c_start_wait()

void i2c_start_wait ( unsigned char  addr)


Issues a start condition and sends address and transfer direction

If device is busy, use ack polling to wait until device ready

Parameters
addraddress and transfer direction of I2C device
Returns
none

◆ i2c_stop()

void i2c_stop ( void  )


Terminates the data transfer and releases the I2C bus

Parameters
void
Returns
none

◆ i2c_write()

unsigned char i2c_write ( unsigned char  data)


Send one byte to I2C device

Parameters
databyte to be transfered
Return values
0write successful
1write failed