Cours:CoursM2103 : Différence entre versions
Ligne 42 : | Ligne 42 : | ||
PORTA |= (1<<PA2); | PORTA |= (1<<PA2); | ||
// mettre la broche PB3 à 0 : | // mettre la broche PB3 à 0 : | ||
− | PORTB &=~ (1<< | + | PORTB &=~ (1<<PB3); |
// changer l'état de la broche PC5 : | // changer l'état de la broche PC5 : | ||
PORTC ^=~ (1<<PC5); | PORTC ^=~ (1<<PC5); | ||
Ligne 49 : | Ligne 49 : | ||
// mettre les broche PC4 et PC6 à 0 : | // mettre les broche PC4 et PC6 à 0 : | ||
PORTB &=~ ( (1<<PC4) | (1<<PC6) ); | PORTB &=~ ( (1<<PC4) | (1<<PC6) ); | ||
− | + | // mettre à 0 PA0 PA1 PA2 et à 1 PA3 PA4 PA5 PA6 PA7 | |
+ | // !! attention, cela modifie toutes les sorties !! | ||
+ | PORTA = 0b11111000; | ||
+ | PORTA = (1<<PA7)|(1<<PA6)|(1<<PA5)|(1<<PA4)|(1<<PA3)|(0<<PA2)|(0<<PA1)|(0<<PA0); | ||
</source> | </source> |
Version du 29 janvier 2023 à 14:41
gestion des broches
Entrée/Sortie
broche | Rôle | Registre | Code |
---|---|---|---|
PC5 | Sortie | DDRC | DDRC |= (1<<PC5); |
PD5 et PD7 | Sortie | DDRD | DDRD |= (1<<PD5)|(1<<PD7); |
PA3 | Entrée | DDRA | DDRA &=~(1<<PA3); |
PD0 et PD1 | Entrée | DDRD | DDRD &=~( (1<<PD0)|(1<<PD1)); |
// modifier la direction de toutes les broches d'un port
// ex : PA0,PA1,PA2,PA3 en entrées
// ex : PA4,PA5,PA6,PA7 en sortie
DDRA=0b11110000;
//ou
DDRA=0xF0;
//ou
DDRA=(1<<PA7)|(1<<PA6)|(1<<PA5)|(1<<PA4)|(0<<PA3)|(0<<PA2)|(0<<PA1)|(0<<PA0);
//ou
DDRA|=(1<<PA7)|(1<<PA6)|(1<<PA5)|(1<<PA4);
DDRA&=~((1<<PA3)|(1<<PA2)|(1<<PA1)|(1<<PA0));
Modifier l'état d'une sortie
Il faut avoir déclarer la broche en sortie, cf ci-dessus !!
Attention, il vaut mieux mettre quques parenthèses en trop que pas assez !!
...
// mettre la broche PA2 à 1 :
PORTA |= (1<<PA2);
// mettre la broche PB3 à 0 :
PORTB &=~ (1<<PB3);
// changer l'état de la broche PC5 :
PORTC ^=~ (1<<PC5);
// mettre les broche PB2 et PB3 à 1 :
PORTB |= ( (1<<PB2) | (1<<PB3) );
// mettre les broche PC4 et PC6 à 0 :
PORTB &=~ ( (1<<PC4) | (1<<PC6) );
// mettre à 0 PA0 PA1 PA2 et à 1 PA3 PA4 PA5 PA6 PA7
// !! attention, cela modifie toutes les sorties !!
PORTA = 0b11111000;
PORTA = (1<<PA7)|(1<<PA6)|(1<<PA5)|(1<<PA4)|(1<<PA3)|(0<<PA2)|(0<<PA1)|(0<<PA0);