Aide compreension code

Bonjour à tous!
En farfouillant sur le forum j'ai trouver ce code:

void setup() {
 DDRL = 0x0;
 PORTL = 0xFF; // PORT L -> INPUT + Pull-up
 DDRD = 0x0;
 PORTD = 0xFF; // PORT D -> INPUT + Pull-up
 DDRC = 0x0;
 PORTC = 0xFF; // PORT C -> INPUT + Pull-up

 Serial.begin(115200); // Serial -> midi
}

void loop() {
 if(bitRead(PINL, 0)) { // BP 1

 }
 if(bitRead(PINL, 1)) { // BP 2

 }
 if(bitRead(PINL, 2)) { // BP 3

 }
 if(bitRead(PINL, 3)) { // BP 4

 }
 if(bitRead(PINL, 4)) { // BP 5

 }
 if(bitRead(PINL, 5)) { // BP 6

 }
 if(bitRead(PINL, 6)) { // BP 7

 }
 if(bitRead(PINL, 7)) { // BP 8

 }
 if(bitRead(PIND, 0)) { // BP 9

 }
 if(bitRead(PIND, 1)) { // BP 10

 }
 if(bitRead(PIND, 2)) { // BP 11

 }
 if(bitRead(PIND, 3)) { // BP 12

 }
 if(bitRead(PIND, 4)) { // BP 13

 }
 if(bitRead(PIND, 5)) { // BP 14

 }
 if(bitRead(PIND, 6)) { // BP 15

 }
 if(bitRead(PIND, 7)) { // BP 16

 }
 if(bitRead(PINC, 0)) { // BP 17

 }
 if(bitRead(PINC, 1)) { // BP 18

 }
 if(bitRead(PINC, 2)) { // BP 19

 }
 if(bitRead(PINC, 3)) { // BP 20

 }
 if(bitRead(PINC, 4)) { // BP 21

 }
 if(bitRead(PINC, 5)) { // BP 22

 }
 if(bitRead(PINC, 6)) { // BP 23

 }
 if(bitRead(PINC, 7)) { // BP 24

 }
 delay(1000); // Evite le flood 
}

void MIDI_TX(byte db1, byte db2, byte db3) {
 Serial.write(db1);
 Serial.write(db2);
 Serial.write(db3);
}

void MIDI_TX(byte db1, byte db2 ) {
 Serial.write(db1);
 Serial.write(db2);
}

C'est le premier code pour bouton midi que je trouve relativement simple et court mais j'ai du mal a comprendre son funcionnement et aussi a l'interpreter.
merci de votres aide! :slight_smile:

bonjour,
ce sont les manipulations des ports pour une atmega 2560

Pin Port Mapping
0 PORTE 0
1 PORTE 1
2 PORTE 4
3 PORTE 5
4 PORTG 5
5 PORTE 3
6 PORTH 3
7 PORTH 4

8 PORTH 5
9 PORTH 6
10 PORTB 4
11 PORTB 5
12 PORTB 6
13 PORTB 7

14 PORTJ 1
15 PORTJ 0
16 PORTH 1
17 PORTH 0
18 PORTD 3
19 PORTD 2
20 PORTD 1
21 PORTD 0

22 PORTA 0
23 PORTA 1
24 PORTA 2
25 PORTA 3
26 PORTA 4
27 PORTA 5
28 PORTA 6
29 PORTA 7

30 PORTB 7
31 PORTB 6
32 PORTB 5
33 PORTB 4
34 PORTB 3
35 PORTB 2
36 PORTB 1
37 PORTB 0

38 PORTD 7
39 PORTG 2
40 PORTG 1
41 PORTG 0
42 PORTL 7
43 PORTL 6
44 PORTL 5
45 PORTL 4

46 PORTL 3
47 PORTL 2
48 PORTL 1
49 PORTL 0
50 PORTB 3
51 PORTB 2
52 PORTB 1
53 PORTB 0

pour bitRead
http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.BitRead