RTEMS
5.0.0
|
#include "chip.h"
#include <stdint.h>
Go to the source code of this file.
Macros | |
#define | TWI_STATUS_TXRDY(status) ((status & TWIHS_SR_TXRDY) == TWIHS_SR_TXRDY) |
#define | TWI_STATUS_RXRDY(status) ((status & TWIHS_SR_RXRDY) == TWIHS_SR_RXRDY) |
#define | TWI_STATUS_TXCOMP(status) ((status & TWIHS_SR_TXCOMP) == TWIHS_SR_TXCOMP) |
Functions | |
void | TWI_ConfigureMaster (Twihs *pTwi, uint32_t twck, uint32_t mck) |
Configures a TWI peripheral to operate in master mode, at the given frequency (in Hz). The duty cycle of the TWI clock is set to 50%. More... | |
void | TWI_ConfigureSlave (Twihs *pTwi, uint8_t slaveAddress) |
Configures a TWI peripheral to operate in slave mode. More... | |
void | TWI_Stop (Twihs *pTwi) |
Sends a STOP condition on the TWI. More... | |
void | TWI_StartRead (Twihs *pTwi, uint8_t address, uint32_t iaddress, uint8_t isize) |
Starts a read operation on the TWI bus with the specified slave, it returns immediately. Data must then be read using TWI_ReadByte() whenever a byte is available (poll using TWI_ByteReceived()). More... | |
uint8_t | TWI_ReadByte (Twihs *pTwi) |
Reads a byte from the TWI bus. The read operation must have been started using TWI_StartRead() and a byte must be available (check with TWI_ByteReceived()). More... | |
void | TWI_WriteByte (Twihs *pTwi, uint8_t byte) |
Sends a byte of data to one of the TWI slaves on the bus. More... | |
void | TWI_StartWrite (Twihs *pTwi, uint8_t address, uint32_t iaddress, uint8_t isize, uint8_t byte) |
Starts a write operation on the TWI to access the selected slave, then returns immediately. A byte of data must be provided to start the write; other bytes are written next. after that to send the remaining bytes. More... | |
uint8_t | TWI_ByteReceived (Twihs *pTwi) |
Check if a byte have been received from TWI. More... | |
uint8_t | TWI_ByteSent (Twihs *pTwi) |
Check if a byte have been sent to TWI. More... | |
uint8_t | TWI_TransferComplete (Twihs *pTwi) |
Check if current transmission is completed. More... | |
void | TWI_EnableIt (Twihs *pTwi, uint32_t sources) |
Enables the selected interrupts sources on a TWI peripheral. More... | |
void | TWI_DisableIt (Twihs *pTwi, uint32_t sources) |
Disables the selected interrupts sources on a TWI peripheral. More... | |
uint32_t | TWI_GetStatus (Twihs *pTwi) |
Get the current status register of the given TWI peripheral. More... | |
uint32_t | TWI_GetMaskedStatus (Twihs *pTwi) |
Returns the current status register of the given TWI peripheral, but masking interrupt sources which are not currently enabled. More... | |
void | TWI_SendSTOPCondition (Twihs *pTwi) |
Sends a STOP condition. STOP Condition is sent just after completing the current byte transmission in master read mode. More... | |
Interface for configuration the Two Wire Interface (TWI) peripheral.
uint8_t TWI_ByteReceived | ( | Twihs * | pTwi | ) |
Check if a byte have been received from TWI.
pTwi | Pointer to an Twihs instance. |
uint8_t TWI_ByteSent | ( | Twihs * | pTwi | ) |
Check if a byte have been sent to TWI.
pTwi | Pointer to an Twihs instance. |
void TWI_ConfigureMaster | ( | Twihs * | pTwi, |
uint32_t | dwTwCk, | ||
uint32_t | dwMCk | ||
) |
Configures a TWI peripheral to operate in master mode, at the given frequency (in Hz). The duty cycle of the TWI clock is set to 50%.
pTwi | Pointer to an Twihs instance. |
twck | Desired TWI clock frequency. |
mck | Master clock frequency. |
void TWI_ConfigureSlave | ( | Twihs * | pTwi, |
uint8_t | slaveAddress | ||
) |
Configures a TWI peripheral to operate in slave mode.
pTwi | Pointer to an Twihs instance. |
slaveAddress | Slave address. |
void TWI_DisableIt | ( | Twihs * | pTwi, |
uint32_t | sources | ||
) |
Disables the selected interrupts sources on a TWI peripheral.
pTwi | Pointer to an Twihs instance. |
sources | Bitwise OR of selected interrupt sources. |
void TWI_EnableIt | ( | Twihs * | pTwi, |
uint32_t | sources | ||
) |
Enables the selected interrupts sources on a TWI peripheral.
pTwi | Pointer to an Twihs instance. |
sources | Bitwise OR of selected interrupt sources. |
uint32_t TWI_GetMaskedStatus | ( | Twihs * | pTwi | ) |
Returns the current status register of the given TWI peripheral, but masking interrupt sources which are not currently enabled.
pTwi | Pointer to an Twihs instance. |
uint32_t TWI_GetStatus | ( | Twihs * | pTwi | ) |
Get the current status register of the given TWI peripheral.
pTwi | Pointer to an Twihs instance. |
uint8_t TWI_ReadByte | ( | Twihs * | pTwi | ) |
Reads a byte from the TWI bus. The read operation must have been started using TWI_StartRead() and a byte must be available (check with TWI_ByteReceived()).
pTwi | Pointer to an Twihs instance. |
void TWI_SendSTOPCondition | ( | Twihs * | pTwi | ) |
Sends a STOP condition. STOP Condition is sent just after completing the current byte transmission in master read mode.
pTwi | Pointer to an Twihs instance. |
void TWI_StartRead | ( | Twihs * | pTwi, |
uint8_t | address, | ||
uint32_t | iaddress, | ||
uint8_t | isize | ||
) |
Starts a read operation on the TWI bus with the specified slave, it returns immediately. Data must then be read using TWI_ReadByte() whenever a byte is available (poll using TWI_ByteReceived()).
pTwi | Pointer to an Twihs instance. |
address | Slave address on the bus. |
iaddress | Optional internal address bytes. |
isize | Number of internal address bytes. |
void TWI_StartWrite | ( | Twihs * | pTwi, |
uint8_t | address, | ||
uint32_t | iaddress, | ||
uint8_t | isize, | ||
uint8_t | byte | ||
) |
Starts a write operation on the TWI to access the selected slave, then returns immediately. A byte of data must be provided to start the write; other bytes are written next. after that to send the remaining bytes.
pTwi | Pointer to an Twihs instance. |
address | Address of slave to acccess on the bus. |
iaddress | Optional slave internal address. |
isize | Number of internal address bytes. |
byte | First byte to send. |
void TWI_Stop | ( | Twihs * | pTwi | ) |
Sends a STOP condition on the TWI.
pTwi | Pointer to an Twihs instance. |
uint8_t TWI_TransferComplete | ( | Twihs * | pTwi | ) |
Check if current transmission is completed.
pTwi | Pointer to an Twihs instance. |
void TWI_WriteByte | ( | Twihs * | pTwi, |
uint8_t | byte | ||
) |
Sends a byte of data to one of the TWI slaves on the bus.
pTwi | Pointer to an Twihs instance. |
byte | Byte to send. |