55 lines
1.6 KiB
C
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_ */
|