In this use case, the I2C will used and set up as follows:
- Master mode
- 100KHz operation speed
- Not operational in standby
- 65535 unknown bus state timeout value
Prerequisites
The device must be connected to an I2C slave.
Setup
Code
The following must be added to the user application:
A sample buffer to write from, a reversed buffer to write from and length of buffers.
Address of slave:
Globally accessible module structure:
Globally accessible packet:
Function for setting up module:
Callback function for write complete:
Function for setting up the callback functionality of the driver:
Add to user application main()
:
Workflow
- Configure and enable module.
- Create and initialize configuration structure.
- Change settings in the configuration.
- Initialize the module with the set configurations.
- Enable the module.
- Configure callback functionality.
- Register write complete callback.
- Enable write complete callback.
- Create a packet to send to slave.
Implementation
Code
Add to user application main()
:
Workflow
- Write packet to slave.
- Infinite while loop, while waiting for interaction with slave.
Callback
Each time a packet is sent, the callback function will be called.
Workflow
- Write complete callback:
- Send every other packet in reversed order.
- Write new packet to slave.