QuakeGod
2024-02-24 8b51c78f1b88d94a89bb8c37ae38a54f523cb597
提交 | 用户 | age
8b51c7 1 /**
Q 2   ******************************************************************************
3   * @file           : functions.h
4   * @brief          : Header for functions.c file.
5   *                   This file contains the user functions defines of the application.
6   ******************************************************************************
7     */
8 #ifndef __MYFUNCTIONS_H__
9 #define __MYFUNCTIONS_H__
10
11
12 #include "KBus.h"
13 //#include "KLProtocol.h"
14 #include "myqueue.h"
15 #include "GlobalDef.h"
16 extern int TickFreq;//=10000;
17 extern int CoreClkMHz;        //=SystemCoreClock/1000000;
18 extern int TickPriodClk;        //=SystemCoreClock/TickFreq;
19 extern unsigned int TickPrioduS;    //
20 extern volatile unsigned int nCurTick;
21 extern volatile unsigned int CurTickuS;    
22 //extern volatile unsigned int ThisRunTime;    
23 //extern volatile unsigned int TotalRunTime;
24 //extern volatile unsigned int PwrCount;                //开机次数
25 #pragma anon_unions
26 typedef union tagshortbits {
27     unsigned short value;
28     struct {
29         unsigned short bit0:1;
30         unsigned short bit1:1;
31         unsigned short bit2:1;
32         unsigned short bit3:1;
33         unsigned short bit4:1;
34         unsigned short bit5:1;
35         unsigned short bit6:1;
36         unsigned short bit7:1;
37         unsigned short bit8:1;
38         unsigned short bit9:1;
39         unsigned short bit10:1;
40         unsigned short bit11:1;
41         unsigned short bit12:1;
42         unsigned short bit13:1;
43         unsigned short bit14:1;
44         unsigned short bit15:1;
45     };
46 }shortbits;
47
48 #define UART3RXBUFSIZE 256
49 #define UART3TXBUFSIZE 64
50
51 extern stUartStat Uart3Stat;
52 extern unsigned char Uart3RxBuf[UART3RXBUFSIZE];
53 extern unsigned char Uart3TxBuf[UART3TXBUFSIZE];
54 extern unsigned int Uart3RecvBuf1DataLen;
55 extern unsigned int Uart3ToSendLen;
56 extern unsigned int Uart3SentLen;
57
58 #define UART5RXBUFSIZE 256
59 #define UART5TXBUFSIZE 64
60
61 extern stUartStat Uart5Stat;
62 extern unsigned char Uart5RxBuf[UART5RXBUFSIZE];
63 extern unsigned char Uart5TxBuf[UART5TXBUFSIZE];
64 extern unsigned int Uart5RecvBuf1DataLen;
65 extern unsigned int Uart5ToSendLen;
66 extern unsigned int Uart5SentLen;
67
68
69 #define UART6RXBUFSIZE 64
70 #define UART6TXBUFSIZE 64
71
72 extern stUartStat Uart6Stat;
73 extern unsigned char Uart6RxBuf[UART6RXBUFSIZE];
74 extern unsigned char Uart6TxBuf[UART6TXBUFSIZE];
75 extern unsigned int Uart6RecvBuf1DataLen;
76 extern unsigned int Uart6ToSendLen;
77 extern unsigned int Uart6SentLen;
78
79
80 typedef unsigned char uint8_t;
81 typedef unsigned char uchar;
82 typedef unsigned short uint16_t;
83 //typedef unsigned long uint32_t;
84 typedef int int32_t;
85  
86 int InituS(int TickFreq1);
87 unsigned int GetuS(void);
88 unsigned int GetTick(void);
89 void logData(unsigned char d);
90 int InitUartstat(stUartStat * pUartstat,void * pBufRx, int nSizeRx, void * pBufTx, int nSizeTx);
91 int Uart1SendDMA(void * pData, int nSize);
92 int Uart1TriggerSendDMA(void );
93 int Uart2SendDMA(void * pData, int nSize);
94 int Uart2RecvDMA(void * pBuf, int nSize);
95 int Uart2TriggerRecvDMA(void );
96 int Uart2TriggerSendDMA(void );
97 int Uart3SendDMA(void * pData, int nSize);
98 int Uart3RecvDMA(void * pBuf, int nSize);
99 int Uart3TriggerRecvDMA(void );
100 int Uart3TriggerSendDMA(void );
101 void TriggerPendSV(void);
102 void PendSvCallBack(void);
103 void SPI1_IRQ_CallBack(void);
104
105 void Uart1SendDone(void);
106 void Uart1RecvDone(void);
107 void Uart2SendDone(void);
108 void Uart2RecvDone(void);
109
110 void Uart3SendDone(void);
111 void Uart3RecvDone(void);
112 void Uart3SendPacket(char * str, int len);
113
114 void Uart5SendDone(void);
115 void Uart5RecvDone(void);
116 void Uart5SendPacket(char * str, int len);
117
118 void Uart6SendDone(void);
119 void Uart6RecvDone(void);
120 void Uart6SendPacket(char * str, int len);
121
122 void SLPSendPacket(char * str, uchar len);
123     
124 int PutStr(char * str1, int len1);
125 int SendPacket(int nChn, void * pBuf,int len1);
126 //int SendPacket1(void * pBuf,int len1);
127 //int SendPacket2(pKBPacket p1,int len1);
128 void ToggleRunLed(void );
129 void ToggleErrLed(void );
130 void ToggleErr2Led(void );
131 void ToggleOutStat(void );
132 int ReadJumperSW(void );
133 void SetRunLed(uchar bOn);
134 void SetErrLed(uchar bOn);
135 void SetErr2Led(uchar bOn);
136 void SetOutStat(uchar bOn);
137 void Enable595(uchar bEnable);
138 unsigned int GetInput(void );
139 void PutOutput(unsigned int nOutValue);
140 inline unsigned int GetTick(void);
141 unsigned short crc_check(const unsigned char * data, unsigned int  length);
142 unsigned short crc16bitbybit(const unsigned char *ptr, unsigned int len);
143 uint16_t crc16table(const uint8_t *ptr, uint16_t len);
144 //uint16_t crc16tablefast(const uint8_t *ptr, uint16_t len) ;
145
146 void EnableDisIn(uchar bEnable);
147 void displayInput(unsigned int cc);
148 void PutOutputSPI1(unsigned int Y);
149
150 #endif  /* __MYFUNCTIONS_H__ */