@@ -107,14 +107,9 @@ void setup() {
107
107
EICRA = B10110000; // INT2 – rising edge on RXD (Bxx11xxxx), INT3 - falling edge on TXD (B10xxxxxx)
108
108
EIMSK = B1100; // enable INT2 (Bx1xx) and INT3 (B1xxx)
109
109
110
- // Serial.begin(115200);
110
+ // Serial.begin(115200); //Can't use serial port; RX and TX is dedicated for interrupts
111
111
// PORTD &= ~_BV(5); // TX-LED on
112
112
113
- // We can't use millis() or micros() because Timer0 interrupts are disabled. We use 16-bit Timer1 with 1024 prescaler as "clock".
114
- /* TIMSK1 = 0; // disable timer1 interrupts
115
- TCCR1A = 0;
116
- TCCR1B = B00000101; // Timer1, normal mode, prescaler 1024. One tick is 64us.
117
- TCNT1 = 0; // reset Timer1 counter*/
118
113
}
119
114
120
115
void loop () {
@@ -146,25 +141,6 @@ void loop() {
146
141
// ece: 85 b9 out 0x05, r24 ; 5
147
142
interrupts ();
148
143
149
- /* asm volatile(
150
- " clr r31 \n" //Z is r31:r30. Z is pointer.
151
- " cli \n"
152
- " lds r30, %[gpio] \n"
153
- " ld __tmp_reg__, Z \n"
154
- " sts %[pin], __tmp_reg__ \n"
155
- " sei \n"
156
- :: [pin] "M" (_SFR_MEM_ADDR(PORTB)), [gpio] "M" (_SFR_MEM_ADDR(GPIOR2)) : "r30", "r31");*/
157
- // ed2: ff 27 eor r31, r31
158
- // ed4: f8 94 cli
159
- // ed6: e0 91 4b 00 lds r30, 0x004B ; 0x80004b <__TEXT_REGION_LENGTH__+0x7e004b>
160
- // eda: 00 80 ld r0, Z
161
- // edc: 00 92 25 00 sts 0x0025, r0 ; 0x800025 <__TEXT_REGION_LENGTH__+0x7e0025>
162
- // ee0: 78 94 sei
163
-
164
- // delayMicroseconds(10);
165
- // uint16_t koe = ptr;
166
- // Serial.println(koe, HEX);
167
- // delayMicroseconds(10000);
168
144
}
169
145
170
146
0 commit comments