159 lines
4.3 KiB
C
159 lines
4.3 KiB
C
|
|
#ifndef __AGREEMENT_H
|
|||
|
|
#define __AGREEMENT_H
|
|||
|
|
|
|||
|
|
#include "main.h"
|
|||
|
|
#include "system.h"
|
|||
|
|
|
|||
|
|
#define WRITE_CMD 0x01
|
|||
|
|
#define READ_CMD 0x00
|
|||
|
|
|
|||
|
|
#define READ_DATA_0x34 0x34//0x5A //<2F><>ȡʵʱ<CAB5><CAB1><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//#define READ_STORE_DATA_0x5F 0x5F //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
|
|||
|
|
#define HEAD_AB 0xAB
|
|||
|
|
#define ADDRESS_NB 0x0A //drill colar azi gam
|
|||
|
|
#define ADDRESS_NBF 0x34
|
|||
|
|
#define ADDRESS_NBT 0x40 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|||
|
|
#define ADDRESS_HOST 0x34//0x20
|
|||
|
|
#define ADDRESS_SEC 0x40//0x01
|
|||
|
|
#define ADDRESS_FAR 0x41//0x01
|
|||
|
|
#define ADDRESS_BROAD 0x00
|
|||
|
|
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>궨<EFBFBD><EAB6A8>
|
|||
|
|
#define ERROR_CMD 0xE1
|
|||
|
|
#define NO_DATA 0xE2
|
|||
|
|
#define SPEED_ERROR 0xE3
|
|||
|
|
#define EEPROM_ERROR 0xE4
|
|||
|
|
#define EEPROM_EMPTY 0xE5
|
|||
|
|
#define RTC_ERROR 0xE6
|
|||
|
|
|
|||
|
|
//#define RECEIVE_BUFFSIZE 0x150
|
|||
|
|
#define RECEIVE_BUFFSIZE 0x260
|
|||
|
|
|
|||
|
|
// typedef enum flagdata
|
|||
|
|
// {
|
|||
|
|
// _FALSE=0x00,
|
|||
|
|
// _TRUE=0x01,
|
|||
|
|
// }FLAG;
|
|||
|
|
|
|||
|
|
typedef union wokrtimetype
|
|||
|
|
{
|
|||
|
|
uint8_t wtime[4];
|
|||
|
|
uint32_t iwtime;
|
|||
|
|
|
|||
|
|
}WTIME;
|
|||
|
|
|
|||
|
|
//ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
typedef volatile struct worktime
|
|||
|
|
{
|
|||
|
|
WTIME SUM_TIME; //<2F>ܹ<EFBFBD><DCB9><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
WTIME USER_TIME; //ά<><EFBFBD><DEBA>ۼ<EFBFBD>ʹ<EFBFBD>ù<EFBFBD><C3B9><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
}WORK_TIME;
|
|||
|
|
|
|||
|
|
typedef enum uartstarus
|
|||
|
|
{
|
|||
|
|
Receive_head=0x00,
|
|||
|
|
Receive_addr=0x01, //<2F><><EFBFBD><EFBFBD>Ŀ<EFBFBD>ĵ<EFBFBD>ַ״̬
|
|||
|
|
ReceiveSend_addr=0x02, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ״̬
|
|||
|
|
Receive_data=0x03,
|
|||
|
|
Receive_crc=0x04,
|
|||
|
|
Receive_busy=0x05,
|
|||
|
|
}UART_STATUS;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagSYSRTC
|
|||
|
|
{
|
|||
|
|
unsigned char Year;
|
|||
|
|
unsigned char Month;
|
|||
|
|
unsigned char Day;
|
|||
|
|
unsigned char Hour;
|
|||
|
|
unsigned char Min;
|
|||
|
|
unsigned char Sec;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
typedef struct queuedata
|
|||
|
|
{
|
|||
|
|
uint8_t front;
|
|||
|
|
uint8_t rear;
|
|||
|
|
FLAG Fullflag;
|
|||
|
|
//uint8_t maxlen;//=receive_bufsize
|
|||
|
|
uint8_t Buf[RECEIVE_BUFFSIZE];
|
|||
|
|
}QUEUE_DATA;
|
|||
|
|
|
|||
|
|
typedef struct sysdata
|
|||
|
|
{
|
|||
|
|
UART_STATUS UartStaus;
|
|||
|
|
uint8_t ReceiveBuf[RECEIVE_BUFFSIZE];
|
|||
|
|
int ReceiveOffset;
|
|||
|
|
FLAG ReceiveOKFlag;
|
|||
|
|
uint8_t Recdata;
|
|||
|
|
|
|||
|
|
uint32_t FlashReadedNum;
|
|||
|
|
uint32_t FlashReadedPageNum;
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ݴ洢<DDB4><E6B4A2>ַ
|
|||
|
|
uint32_t uiDataHeadAddress; //<2F><><EFBFBD>ݴ洢<DDB4><EFBFBD>ַ
|
|||
|
|
uint32_t uiDataEndAddress; //<2F><><EFBFBD>ݴ洢β<E6B4A2><CEB2>ַ
|
|||
|
|
uint32_t uiDataEndAddressStoreAdd; //β<><CEB2>ַ<EFBFBD>洢<EFBFBD><E6B4A2>ַ
|
|||
|
|
uint32_t uiDataCurrentAddress; //<2F><><EFBFBD>ݴ洢<DDB4><E6B4A2>ǰλ<C7B0>õ<EFBFBD>ַ
|
|||
|
|
uint32_t uiDataNum; //<2F><><EFBFBD>ݴ洢<DDB4><E6B4A2><EFBFBD><EFBFBD>
|
|||
|
|
uint16_t uiChangeAddressTimes; //<2F>洢<EFBFBD><E6B4A2>ַ<EFBFBD><D6B7><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|||
|
|
uint8_t uiLoopAddressTimes; //<2F>洢<EFBFBD><E6B4A2>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8_t uiDataOverFlowFlag; //<2F>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
|||
|
|
|
|||
|
|
uint16_t Test_Page_Addr;
|
|||
|
|
|
|||
|
|
uint8_t ucMeasureData[20]; //<2F>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD>
|
|||
|
|
uint16_t ucRepDataLen; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
|||
|
|
|
|||
|
|
uint16_t Store_Interval_times; //<2F><>ַ<EFBFBD>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
int Get_Single_SPeed; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
|
uint8_t Allow_GetData_Flag; //<2F><><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD>ģʽ
|
|||
|
|
uint8_t Allow_GetData_Count; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲɼ<DDB2><C9BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagSYSRTC uiCurrentTime; //ʱ<><CAB1><EFBFBD><EFBFBD>¼
|
|||
|
|
uint8_t IsTwoHostAddrFlag; //<2F><><EFBFBD><EFBFBD>ַ<EFBFBD>Ƿ<EFBFBD>Ϊ˫<CEAA><CBAB>ַ<EFBFBD><D6B7>־
|
|||
|
|
uint8_t IsOneSlaveAddrFlag; //<2F>ӵ<EFBFBD>ַ<EFBFBD>Ƿ<EFBFBD>Ϊ˫<CEAA><CBAB>ַ<EFBFBD><D6B7>־
|
|||
|
|
|
|||
|
|
uint8_t Get_Wob_frequency; //<2F><>ѹ<EFBFBD><D1B9>Ť<EFBFBD>زɼ<D8B2>Ƶ<EFBFBD><C6B5>
|
|||
|
|
uint16_t Get_Vibration_Frequency; //<2F><><EFBFBD><EFBFBD>ת<EFBFBD>ٲɼ<D9B2>Ƶ<EFBFBD><C6B5>
|
|||
|
|
|
|||
|
|
|
|||
|
|
uint32_t WaitStartWork_Time; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
uint32_t Work_Continued_Time; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> <20><><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD>
|
|||
|
|
|
|||
|
|
uint16_t Get_PressData_Times; //ѹ<><D1B9><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
uint8_t Time_Detemine_Flag; //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
|||
|
|
uint8_t ucSendChkCrc; //<2F><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>У<EFBFBD><D0A3>λ
|
|||
|
|
uint8_t ucAutoCalibFlag; //<2F>Զ<EFBFBD>У<D0A3><D7BC>־
|
|||
|
|
uint16_t ucGet_Data_Count; //<2F><><EFBFBD>ݲɼ<DDB2><C9BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int Round_Data; //ת<><D7AA>ֵ
|
|||
|
|
}SYS_DATA;
|
|||
|
|
|
|||
|
|
extern SYS_DATA s_Data;
|
|||
|
|
extern SYS_DATA USBs_Data; //USB<53><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
extern QUEUE_DATA RecQueue;
|
|||
|
|
extern WORK_TIME WorkTime;
|
|||
|
|
|
|||
|
|
extern void SwapAddr_DataLen(uint8_t data_len);
|
|||
|
|
extern void IsOneAddr_DataLen(uint8_t data_len);
|
|||
|
|
extern void RecQueueInit(void);
|
|||
|
|
extern void SysDataInit(void);
|
|||
|
|
extern void WorkTimeInit(void);
|
|||
|
|
extern void Float2char(unsigned char *Data,float Fldata);
|
|||
|
|
extern uint8_t PushQueue(QUEUE_DATA *que_data,uint8_t data);
|
|||
|
|
extern uint8_t PopQueue(QUEUE_DATA *que_data,uint8_t* data);
|
|||
|
|
extern void AgreementService(void);
|
|||
|
|
|
|||
|
|
extern uint32_t Reduce_Time(unsigned char *Time);
|
|||
|
|
extern unsigned char unReduce_Time(unsigned char *Time,uint32_t ReduceTime);
|
|||
|
|
extern void BCD_To_HEX(unsigned char *BCD,unsigned char *HEX,unsigned char Len);
|
|||
|
|
extern void HEX_To_BCD(unsigned char *HEX,unsigned char *BCD,unsigned char Len);
|
|||
|
|
extern unsigned char ReloadCurrentTime(unsigned char *TimeBuffer);
|
|||
|
|
extern void Send_Slave(unsigned char Data);
|
|||
|
|
|
|||
|
|
#endif
|
|||
|
|
|