1 | const int Data_Bit_7 = 11;
|
2 | const int Data_Bit_6 = 10;
|
3 | const int Data_Bit_5 = 9;
|
4 | const int Data_Bit_4 = 8;
|
5 | const int Data_Bit_3 = 7;
|
6 | const int Data_Bit_2 = 6;
|
7 | const int Data_Bit_1 = 5;
|
8 | const int Data_Bit_0 = 4;
|
9 |
|
10 | const int Control_STROBE = 32;
|
11 |
|
12 | byte data_register = 0;
|
13 |
|
14 | void setup() {
|
15 | // put your setup code here, to run once:
|
16 |
|
17 | pinMode(Control_STROBE, INPUT_PULLUP);
|
18 |
|
19 | pinMode(Data_Bit_7, INPUT);
|
20 | pinMode(Data_Bit_6, INPUT);
|
21 | pinMode(Data_Bit_5, INPUT);
|
22 | pinMode(Data_Bit_4, INPUT);
|
23 | pinMode(Data_Bit_3, INPUT);
|
24 | pinMode(Data_Bit_2, INPUT);
|
25 | pinMode(Data_Bit_1, INPUT);
|
26 | pinMode(Data_Bit_0, INPUT);
|
27 |
|
28 | Serial.begin(19200);
|
29 |
|
30 | attachInterrupt(digitalPinToInterrupt(Control_STROBE), strobe_INT, FALLING);
|
31 |
|
32 | }
|
33 |
|
34 | void loop() {
|
35 |
|
36 | }
|
37 |
|
38 | void strobe_INT() {
|
39 | noInterrupts();
|
40 |
|
41 | incomming_Data();
|
42 | Serial.print(data_register, HEX);
|
43 | Serial.print(' ');
|
44 |
|
45 | interrupts();
|
46 | }
|
47 |
|
48 | void incomming_Data() {
|
49 | bitWrite(data_register, 0, digitalRead(Data_Bit_0));
|
50 | bitWrite(data_register, 1, digitalRead(Data_Bit_1));
|
51 | bitWrite(data_register, 2, digitalRead(Data_Bit_2));
|
52 | bitWrite(data_register, 3, digitalRead(Data_Bit_3));
|
53 | bitWrite(data_register, 4, digitalRead(Data_Bit_4));
|
54 | bitWrite(data_register, 5, digitalRead(Data_Bit_5));
|
55 | bitWrite(data_register, 6, digitalRead(Data_Bit_6));
|
56 | bitWrite(data_register, 7, digitalRead(Data_Bit_7));
|
57 | }
|