Question concernant la manipulation de port

Bonjour tout le monde !

Voila, je m'intéresse à la manipulation de port, je suis donc allé dans la partie référence du site arduino, plus exactement ici :

J'ai relativement bien compris le système, par contre, j'ai du mal à comprendre ceci (J'ai mis en rouge ce qui me pose problème.) :

PORTD maps to Arduino digital pins 0 to 7

  • DDRD - The Port D Data Direction Register - read/write
  • PORTD - The Port D Data Register - read/write
  • PIND - The Port D Input Pins Register - read only
    PORTB maps to Arduino digital pins 8 to 13 The two high bits (6 & 7) map to the crystal pins and are not usable
  • DDRB - The Port B Data Direction Register - read/write
  • PORTB - The Port B Data Register - read/write
  • PINB - The Port B Input Pins Register - read only
    PORTC maps to Arduino analog pins 0 to 5. Pins 6 & 7 are only accessible on the Arduino Mini
  • DDRC - The Port C Data Direction Register - read/write
  • PORTC - The Port C Data Register - read/write
  • PINC - The Port C Input Pins Register - read only

Ca veut dire quoi concrètement ?
Qu'on ne peut pas utiliser les bits 6 & 7 (pin gnd et ARef) ?

Merci :slight_smile:

  • l0l0 -

Bonjour,

il ne faut pas confondre bit et pins
Les bits 6 & 7 du port B sont les pins 9 et 10 et ne sont pas utilisables car il sont reliés au quartz

Si tu as un arduino avec atmega 328, il partage le même pinout que le 168 ci dessous

Je ne confond pas bit et pin, seulement je vois ça comme ça :

PORTB = pin 8 à 13

Donc :

bit 0 du PORTB = pin 8 de l'arduino
bit 1 du PORTB = pin 9 de l'arduino
bit 2 du PORTB = pin 10 de l'arduino
bit 3 du PORTB = pin 11 de l'arduino
bit 4 du PORTB = pin 12 de l'arduino
bit 5 du PORTB = pin 13 de l'arduino

Quand je parle de pin, je parle des pins sur l'arduino et non des pin de l'atmega car il ne correspondent pas, exemple :
La pin digital 8 de l'arduino est en fait la pin 14 de l'atmega
La pin digital 7 de l'arduino est en fait la pin 13 de l'atmega
etc...

Je ne dis pas que je suis dans le vrai, j'explique juste ma façon de voir les choses, je ne demande qu'a comprendre ^^

PB6 et PB7 ne sont pas utilisables. Pas de problème puisqu'ils ne sont pas accessibles sur une Arduino.

En aucun cas il ne faut croire que si PB5 = Arduino 13, alors PB6 = patte suivante GND et PB7 = patte suivante AREF. :smiley:

GND et AREF sur le connecteur de l'Arduino (à la suite de 8 à 13) sont bien utilisables.

PB6 et PB7 ne sont pas utilisables. Pas de problème puisqu'ils ne sont pas accessibles sur une Arduino.

Ah ben voila, c'est exactement pour ça que ça me chagrinais la remarque faite sur le site arduino.cc (The two high bits (6 & 7) map to the crystal pins and are not usable)

Pourquoi faire une tel remarque alors qu'ils ne sont pas accessible via l'arduino...

Tout s'éclaire :slight_smile:

J'ai justement besoin de manipuler les 14 entrées/sorties numérique, maintenant, je sais que je peut, sans être obligé d'investir dans un arduino mega :slight_smile:

Merci :slight_smile:

  • l0l0 -