gateway_mcu/CH32V303-FreeRTOS/App/tools/mcu_common.h

86 lines
2.1 KiB
C
Raw Permalink Normal View History

#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;
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
enum {
SL_Function_Code_Read_Register = 0x30, /* <20><><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
SL_Function_Code_Write_Register = 0x10, /* д<>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
};
/* ״̬<D7B4><CCAC> */
typedef enum {
wait = 0, /* <20><><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>ʼ״̬ */
startFlagSL, /* <20><><EFBFBD>յ<EFBFBD>֡ͷ */
portSL, /* <20><><EFBFBD>յ<EFBFBD><D5B5>˿ں<CBBF> */
lengthSL, /* <20><><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ݰ<EFBFBD><DDB0>ij<EFBFBD><C4B3><EFBFBD> */
endFlagSL, /* <20><><EFBFBD>յ<EFBFBD>֡β */
} uartStateMachine;
/* 2<><32><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD> */
#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