86 lines
2.1 KiB
C
86 lines
2.1 KiB
C
#ifndef __COMMON_ENUM_
|
|
#define __COMMON_ENUM_
|
|
|
|
#include "stdio.h"
|
|
|
|
#include "FreeRTOS.h"
|
|
#include "task.h"
|
|
|
|
typedef enum {
|
|
J0 = 0,
|
|
J1 = 1,
|
|
J2 = 2,
|
|
J3 = 3,
|
|
J4 = 4,
|
|
J5 = 5,
|
|
J6 = 6,
|
|
J7 = 7,
|
|
J8 = 8,
|
|
J9 = 9,
|
|
Lora = 10,
|
|
HostMcu = 11,
|
|
SlaveMcu = 12,
|
|
} portEnum;
|
|
|
|
/* 功能码 */
|
|
enum {
|
|
SL_Function_Code_Read_Register = 0x30, /* 读寄存器数据 */
|
|
SL_Function_Code_Write_Register = 0x10, /* 写寄存器数据 */
|
|
};
|
|
|
|
/* 状态机 */
|
|
typedef enum {
|
|
wait = 0, /* 串口状态机初始状态 */
|
|
startFlagSL, /* 接收到帧头 */
|
|
portSL, /* 接收到端口号 */
|
|
lengthSL, /* 接收到数据包的长度 */
|
|
endFlagSL, /* 接收到帧尾 */
|
|
} uartStateMachine;
|
|
|
|
/* 2秒的节拍数 */
|
|
#define tick_2S (configTICK_RATE_HZ * 2)
|
|
/* 100ms */
|
|
#define delayTick 50
|
|
#define maxdataLen 100
|
|
|
|
extern uint8_t *mcuUartRxBuffer;
|
|
extern uint16_t mcuUartRxBufferIndex;
|
|
extern uint8_t *J0_485RxBuffer;
|
|
extern uint16_t J0_485RxBufferIndex;
|
|
extern uint8_t *J1_485RxBuffer;
|
|
extern uint16_t J1_485RxBufferIndex;
|
|
extern uint8_t *J2_485RxBuffer;
|
|
extern uint16_t J2_485RxBufferIndex;
|
|
extern uint8_t *J3_485RxBuffer;
|
|
extern uint16_t J3_485RxBufferIndex;
|
|
extern uint8_t *J4_485RxBuffer;
|
|
extern uint16_t J4_485RxBufferIndex;
|
|
extern uint8_t *J5_485RxBuffer;
|
|
extern uint16_t J5_485RxBufferIndex;
|
|
extern uint8_t *J6_485RxBuffer;
|
|
extern uint16_t J6_485RxBufferIndex;
|
|
extern uint8_t *J7_485RxBuffer;
|
|
extern uint16_t J7_485RxBufferIndex;
|
|
extern uint8_t *J8_485RxBuffer;
|
|
extern uint16_t J8_485RxBufferIndex;
|
|
extern uint8_t *J9_485RxBuffer;
|
|
extern uint16_t J9_485RxBufferIndex;
|
|
extern uint8_t *su806RxBuffer;
|
|
extern uint16_t su806RxBufferIndex;
|
|
extern uint8_t *loraRxBuffer;
|
|
extern uint16_t loraRxBufferIndex;
|
|
extern uint32_t mcuUartRxTime;
|
|
extern uint32_t su806UartRxTime;
|
|
extern uartStateMachine state;
|
|
extern uint16_t frameLength;
|
|
|
|
uint8_t applyDataBuffer(void);
|
|
|
|
uint16_t modebusCrc(uint8_t *arr_buff, uint8_t len);
|
|
int baudConversionConfig(int baud);
|
|
int configConversionBaud(int config);
|
|
uint32_t getTickDiff(uint32_t lastTick);
|
|
|
|
|
|
#endif
|