-
Notifications
You must be signed in to change notification settings - Fork 0
/
buttons.h
76 lines (65 loc) · 2.51 KB
/
buttons.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//***************************************************************************
//
// Description.: äðàéâåð 4-åõ êíîïî÷íîãî äæîéñòèêà
//
// Data........: 25.10.09
//
//***************************************************************************
#ifndef BUTTONS_h
#define BUTTONS_h
//#include <ioavr.h>
//ïîðò, ê êîòîðîìó ïîäêëþ÷åíû êíîïêè
#define PORT_BUTTON PORTB
#define PIN_BUTTON PINB
#define DDRX_BUTTON DDRB
//íîìåðà âûâîäîâ, ê êîòîðûì ïîäêëþ÷åíû êíîïêè
#define BUTTON_1 3
#define BUTTON_2 4
#define BUTTON_3 6
#define BUTTON_4 4
//êîäû, êîòîðûå áóäóò çàïèñûâàòüñÿ â áóôåð
#define KEY_NULL 0
#define KEY_BUTTON_1 1
#define KEY_BUTTON_2 2
#define KEY_BUTTON_3 3
#define KEY_BUTTON_4 4
//ñêîëüêî öèêëîâ îïðîñà êíîïêà äîëæíà óäåðæèâàòüñÿ
#define THRESHOLD 5
#pragma used+
/**************************************************************************
* Function name : BUT_Init
* Returns : íåò
* Parameters : íåò
* Purpose : èíèöèàëèçàöèÿ ïîðòîâ ââîäà/âûâîäà
* âûçûâàåòñÿ îáû÷íî â íà÷àëå main`a
****************************************************************************/
void BUT_Init(void);
/**************************************************************************
* Function name : BUT_Debrief
* Returns : íåò
* Parameters : íåò
* Purpose : îïðàøèâàåò êíîïêè. âûçûâàåòñÿ îáû÷íî èç ïðåðûâàíèÿ
* åñëè êíîïêà íàæàòà â òå÷åíèè 20 ïðåðûâàíèé,
* åå íîìåð çàïèñûâàåòñÿ â áóôåð
****************************************************************************/
void BUT_Debrief(void);
/**************************************************************************
* Function name : BUT_GetKey
* Returns : íîìåð íàæàòîé êíîïêè
* Parameters : íåò
* Purpose : âîçâðàùàåò ñîäåðæèìîå êíîïî÷íîãî áóôåðà
* ïðè ýòîì áóôåð î÷èùàåòñÿ
* âûçûâàåòñÿ îáû÷íî â main`e â öèêëå while
*
****************************************************************************/
unsigned char BUT_GetKey(void);
/**************************************************************************
* Function name : BUT_Init
* Returns : íåò
* Parameters : íîìåð êíîïêè
* Purpose : çàïèñûâàåò â êíîïî÷íûé áóôåð çíà÷åíèå
* òðåáóåòñÿ èíîãäà äëÿ èìèòàöèè íàæàòèÿ êíîïîê
****************************************************************************/
void BUT_SetKey(unsigned char key);
#pragma used-
#endif //BUTTONS_H