Fab²² / Mbed 2 deprecated FabLab_TP_04

Dependencies:   mbed

Committer:
Giamarchi
Date:
Sat Jan 12 00:43:50 2019 +0000
Revision:
0:531f33a2550d
Child:
1:95172f59262a
Exo 2 : Chenillard

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Giamarchi 0:531f33a2550d 1 /*************************************/
Giamarchi 0:531f33a2550d 2 // YNCREA ISEN CSI3
Giamarchi 0:531f33a2550d 3 // Electronique Numérique
Giamarchi 0:531f33a2550d 4 //
Giamarchi 0:531f33a2550d 5 // Cours : Systèmes à microcontrôleur
Giamarchi 0:531f33a2550d 6 // Prof : Frédéric Giamarchi
Giamarchi 0:531f33a2550d 7 //
Giamarchi 0:531f33a2550d 8 // Exo 2.2 : Clignotemment de plusieurs Dels
Giamarchi 0:531f33a2550d 9 /*************************************/
Giamarchi 0:531f33a2550d 10 #include "mbed.h"
Giamarchi 0:531f33a2550d 11
Giamarchi 0:531f33a2550d 12 DigitalOut L0(PB_1);
Giamarchi 0:531f33a2550d 13 DigitalOut L1(PB_2);
Giamarchi 0:531f33a2550d 14 DigitalOut L2(PB_10);
Giamarchi 0:531f33a2550d 15 DigitalOut L3(PB_11);
Giamarchi 0:531f33a2550d 16 DigitalOut L4(PB_12);
Giamarchi 0:531f33a2550d 17 DigitalOut L5(PB_13);
Giamarchi 0:531f33a2550d 18 DigitalOut L6(PB_14);
Giamarchi 0:531f33a2550d 19 DigitalOut L7(PB_15);
Giamarchi 0:531f33a2550d 20
Giamarchi 0:531f33a2550d 21 uint8_t L[8] = {L0, L1, L2, L3, L4, L5, L6, L7};
Giamarchi 0:531f33a2550d 22
Giamarchi 0:531f33a2550d 23 void set_8Dels(uint8_t position)
Giamarchi 0:531f33a2550d 24 {
Giamarchi 0:531f33a2550d 25 L0 = position & 0x01;
Giamarchi 0:531f33a2550d 26 L1 = position & 0x02;
Giamarchi 0:531f33a2550d 27 L2 = position & 0x04;
Giamarchi 0:531f33a2550d 28 L3 = position & 0x08;
Giamarchi 0:531f33a2550d 29 L4 = position & 0x10;
Giamarchi 0:531f33a2550d 30 L5 = position & 0x20;
Giamarchi 0:531f33a2550d 31 L6 = position & 0x40;
Giamarchi 0:531f33a2550d 32 L7 = position & 0x80;
Giamarchi 0:531f33a2550d 33
Giamarchi 0:531f33a2550d 34 // L[!position] = 0;
Giamarchi 0:531f33a2550d 35 // L[position] = 1;
Giamarchi 0:531f33a2550d 36 }
Giamarchi 0:531f33a2550d 37
Giamarchi 0:531f33a2550d 38 uint8_t compteur = 1;
Giamarchi 0:531f33a2550d 39 uint8_t sens = 0;
Giamarchi 0:531f33a2550d 40
Giamarchi 0:531f33a2550d 41 int main()
Giamarchi 0:531f33a2550d 42 {
Giamarchi 0:531f33a2550d 43 while(1)
Giamarchi 0:531f33a2550d 44 {
Giamarchi 0:531f33a2550d 45 wait(0.2); // 200 ms
Giamarchi 0:531f33a2550d 46 if(!sens)
Giamarchi 0:531f33a2550d 47 {
Giamarchi 0:531f33a2550d 48 compteur<<=1; // décalage d'un bit vers la gauche
Giamarchi 0:531f33a2550d 49 if(compteur == 0x80)
Giamarchi 0:531f33a2550d 50 sens = 1;
Giamarchi 0:531f33a2550d 51 }
Giamarchi 0:531f33a2550d 52 else
Giamarchi 0:531f33a2550d 53 {
Giamarchi 0:531f33a2550d 54 compteur>>=1; // décalage d'un bit vers la droite
Giamarchi 0:531f33a2550d 55 if(compteur == 0x01)
Giamarchi 0:531f33a2550d 56 sens = 0;
Giamarchi 0:531f33a2550d 57 }
Giamarchi 0:531f33a2550d 58 set_8Dels(compteur);
Giamarchi 0:531f33a2550d 59 }
Giamarchi 0:531f33a2550d 60 }