/* * value_struct.h * * Created on: Dec 25, 2024 * Author: home */ #ifndef INC_VALUE_STRUCT_H_ #define INC_VALUE_STRUCT_H_ #include #include "can.h" #define TRANS_IDLE 0x00 #define TRANS_NEW_VALUE 0x01 #define TRANS_VALUE_SENT 0x02 #define TRANS_VALUE_DELIVERED 0x03 // Определение структуры typedef struct { volatile uint32_t HEAD_ID; volatile uint32_t CUR_VALUE; volatile uint32_t NEW_VALUE; volatile uint32_t TRANSACTION; volatile uint32_t COUTN_TRANS; volatile uint32_t PRINT; } value_Struct; // Определение структуры typedef struct { volatile uint32_t add; //хранение посылки x[0]....x[7] // uint32_t - атомарная перезапись volatile uint32_t x0;//TODO сделать через union volatile uint32_t x1;//TODO сделать через union volatile uint32_t x2;//TODO сделать через union volatile uint32_t x3;//TODO сделать через union volatile uint32_t x4;//TODO сделать через union volatile uint32_t x5;//TODO сделать через union volatile uint32_t x6;//TODO сделать через union volatile uint32_t x7;//TODO сделать через union } pack_CAN; // Объявление функции инициализации void initValueStruct(value_Struct *vStruct); // Объявление функции печати значений структуры void printValueStruct(const value_Struct *vStruct); void printPackStruct(const pack_CAN *curPack, const pack_CAN *newPack, uint32_t trans); #endif /* INC_VALUE_STRUCT_H_ */