led/led_cpp/Core/Inc/value_struct.h
2026-03-30 21:02:16 +03:00

55 lines
1.6 KiB
C

/*
* value_struct.h
*
* Created on: Dec 25, 2024
* Author: home
*/
#ifndef INC_VALUE_STRUCT_H_
#define INC_VALUE_STRUCT_H_
#include <stdint.h>
#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_ */