/* * V_i2cMem.h * * Created on: 15 авг. 2019 г. * Author: Dmitry */ #ifndef INCLUDE_V_I2CMEM_H_ #define INCLUDE_V_I2CMEM_H_ #define EEPROM_MEM_LENGTH 32768 //длина флешки в байтах (256 кбит) struct SI2cMem; typedef volatile struct SI2cMem TI2cMem; struct SI2cMem { Uint16 MEMstartaddr; //! Адрес на flash Uint16 data_length; //! Длина данных в байтах Uint16 *DSPstartaddr; //! Адрес на массив с данными Uint16 LastErr; //! Код ошибки (если возникла) void (*init)(TI2cMem*); void (*write)(TI2cMem*); void (*read)(TI2cMem*); void (*clearMem)(TI2cMem*); }; void I2CMEM_Init(TI2cMem*); void I2CMEM_Write(TI2cMem*); void I2CMEM_Read(TI2cMem*); void I2CMEM_Clear(TI2cMem*); //!Инициализатор по умолчанию #define I2CMEM_DEFAULTS { .init = I2CMEM_Init, \ .write = I2CMEM_Write,\ .read = I2CMEM_Read,\ .clearMem = I2CMEM_Clear,\ } extern TI2cMem i2cMem; #endif /* INCLUDE_V_I2CMEM_H_ */