Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
main.cpp@0:531f33a2550d, 2019-01-12 (annotated)
- 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?
User | Revision | Line number | New 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 | } |