-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmacros.h
More file actions
50 lines (41 loc) · 1.59 KB
/
Copy pathmacros.h
File metadata and controls
50 lines (41 loc) · 1.59 KB
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
#ifndef MACROS_
#define MACROS_
#define SB(port,bit) (PORT##port|=(1<<bit)) //setbit (port,bit) ïðèêëåèì ýòî ñëîâî ïîðò êóäà íàäî è áóäåò ïðîùå
#define CB(port,bit) (PORT##port&= ~(1<<bit)) //clearbit à ëó÷øå êîíå÷íî íàïèñàòü ïîðò è áèò øîá ïîíÿòíåå áûëî
#define TB(port,bit) (PORT##port^=(1<<bit)) //togglebit è ýòî , òåðü íå íàäî ïèñàòü PORTC òåðü òîëüêî C è âñå
#define CH(port,bit) (PIN##port&(1<<bit)) //checkbit CH(B,3) òàê òåðü îíî áóäåò ãëÿäåòüñÿ
//#define _BV(x) (1 << x) //÷òîáû äåñÿòü ðàç åãî íå èñêàòü
#define ATMEGA8
// áèòîâûå ïîëÿ
#pragma once
#include <stdbool.h>
//*
typedef struct { //áóëåàíîâû ïåðåìåííûå , çà÷åì òðàòèòü íà êàæäûé ôëàã ïî áàéòó ?
// bool State_Automate:1; //îáðàáîò÷èê
bool KeyPressed:1; //ôëàã íàæàòèÿ êëàâèøè
bool KeyReleased:1; //ôëàã îòïóñêàíèÿ êëàâèøè
bool KeyPushLong:1; //ôëàã äîëãîâî íàæàòèÿ êëàâèøè
bool KeyState:1; //ôëàã ñîñòîÿíèÿ êëàâèøè
uint8_t KeyPin:4; //çäåñü êîä êëàâèøè
// bool Fire:1; //ôëàã ãîðåëêè
// bool Furnace:1; //ôëàã öèðêóëÿðíîé ïå÷è
// bool SupplyManual:1;
// bool SupplyAuto:1; //ôëàã ïîäà÷è
// bool ADC_Channel:1; // êàíàë àöï
// bool NextState:1;
bool RunFlag:1;
} PackedBool;
PackedBool flags;
//int *KeyCodePointer;
//*/
#define TASCII(numb) (numb+48)
#define true 1
#define false 0
#define vuchar volatile unsigned char
#define vuint volatile unsigned int
#define sbi(reg,bit) reg |= (1<<bit)
#define cbi(reg,bit) reg &= ~(1<<bit)
#define ibi(reg,bit) reg ^= (1<<bit)
#define CheckBit(reg,bit) (reg&(1<<bit))
//void RunTasks(void);
#endif // MACROS_