1 #include "Driver_I2C.h"
4 extern ARM_DRIVER_I2C Driver_I2C0;
5 static ARM_DRIVER_I2C *i2cDev = &Driver_I2C0;
7 static volatile uint32_t event = 0;
9 static void I2C_DrvEvent (uint32_t e) {
16 /* Initialize I2C peripheral */
17 i2cDev->Initialize(I2C_DrvEvent);
19 /* Power-on I2C peripheral */
20 i2cDev->PowerControl(ARM_POWER_FULL);
22 /* Configure I2C bus*/
23 i2cDev->Control(ARM_I2C_OWN_ADDRESS, 0x78);
27 i2cDev->SlaveReceive(&cnt, 1);
28 while ((event & ARM_event_TRANSFER_DONE) == 0);
29 event &= ~ARM_event_TRANSFER_DONE;
31 /* Transmit chunk back */
32 i2cDev->SlaveTransmit(&cnt, 1);
33 while ((event & ARM_event_TRANSFER_DONE) == 0);
34 event &= ~ARM_event_TRANSFER_DONE;