Skip to content

Commit 5d74c40

Browse files
committed
Improved performances. Now 1.5 slower than digitalWrite
1 parent af179d7 commit 5d74c40

File tree

2 files changed

+251
-179
lines changed

2 files changed

+251
-179
lines changed

cores/arduino/UNO_compat.cpp

Lines changed: 6 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,9 @@
11
#include "UNO_compat.h"
22

3-
/*
4-
ARDUINO PIN ATMEGA 328 ATMEGA 4809
5-
0 PD0 PC5
6-
1 PD1 PC4
7-
2 PD2 PA0
8-
3 PD3 PF5
9-
4 PD4 PC6
10-
5 PD5 PB2
11-
6 PD6 PF4
12-
7 PD7 PA1
13-
8 PB0 PE3
14-
9 PB1 PB0
15-
10 PB2 PB1
16-
11 PB3 PE0
17-
12 PB4 PE1
18-
13 PB5 PE2
19-
A0 PC0 PD0
20-
A1 PC1 PD1
21-
A2 PC2 PD2
22-
A3 PC3 PD3
23-
A4 PC4 PD4
24-
A5 PC5 PD5
25-
*/
3+
PORTBClass PORTB;
4+
PORTCClass PORTC;
5+
PORTDClass PORTD;
266

27-
pinPort mapping[20] = {
28-
{&PORTC_ARDUINO, 5},
29-
{&PORTC_ARDUINO, 4},
30-
{&PORTA_ARDUINO, 0},
31-
{&PORTF_ARDUINO, 5},
32-
{&PORTC_ARDUINO, 6},
33-
{&PORTB_ARDUINO, 2},
34-
{&PORTF_ARDUINO, 4},
35-
{&PORTA_ARDUINO, 1},
36-
{&PORTE_ARDUINO, 3},
37-
{&PORTB_ARDUINO, 0},
38-
{&PORTB_ARDUINO, 1},
39-
{&PORTE_ARDUINO, 0},
40-
{&PORTE_ARDUINO, 1},
41-
{&PORTE_ARDUINO, 2},
42-
{&PORTD_ARDUINO, 0},
43-
{&PORTD_ARDUINO, 1},
44-
{&PORTD_ARDUINO, 2},
45-
{&PORTD_ARDUINO, 3},
46-
{&PORTD_ARDUINO, 4},
47-
{&PORTD_ARDUINO, 5},
48-
};
49-
50-
51-
PORTClass PORTB(PORTB_OFFSET, 6, mapping);
52-
PORTClass PORTC(PORTC_OFFSET, 6, mapping);
53-
PORTClass PORTD(PORTD_OFFSET, 8, mapping);
54-
55-
DDRClass DDRB(PORTB_OFFSET, 6, mapping);
56-
DDRClass DDRC(PORTC_OFFSET, 6, mapping);
57-
DDRClass DDRD(PORTD_OFFSET, 8, mapping);
7+
DDRBClass DDRB;
8+
DDRCClass DDRC;
9+
DDRDClass DDRD;

0 commit comments

Comments
 (0)