S5info_H14
/
APP2
gfdh
main.cpp@1:96a4c2a39981, 2014-01-27 (annotated)
- Committer:
- RufflesAllD
- Date:
- Mon Jan 27 16:50:48 2014 +0000
- Revision:
- 1:96a4c2a39981
- Parent:
- 0:f7d5819b29d5
- Child:
- 2:6009cb96f273
thread
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
joGenie | 0:f7d5819b29d5 | 1 | #include "mbed.h" |
joGenie | 0:f7d5819b29d5 | 2 | #include "rtos.h" |
RufflesAllD | 1:96a4c2a39981 | 3 | #include <ctime> |
joGenie | 0:f7d5819b29d5 | 4 | |
joGenie | 0:f7d5819b29d5 | 5 | DigitalIn en_1(p15); |
joGenie | 0:f7d5819b29d5 | 6 | DigitalIn en_2(p16); |
RufflesAllD | 1:96a4c2a39981 | 7 | |
joGenie | 0:f7d5819b29d5 | 8 | AnalogIn ea_1(p19); |
joGenie | 0:f7d5819b29d5 | 9 | AnalogIn ea_2(p20); |
joGenie | 0:f7d5819b29d5 | 10 | |
RufflesAllD | 1:96a4c2a39981 | 11 | Serial pc(USBTX, USBRX); |
RufflesAllD | 1:96a4c2a39981 | 12 | |
RufflesAllD | 1:96a4c2a39981 | 13 | void showTime(char *buffer) |
RufflesAllD | 1:96a4c2a39981 | 14 | { |
RufflesAllD | 1:96a4c2a39981 | 15 | std::time_t time = std::time(0); |
RufflesAllD | 1:96a4c2a39981 | 16 | |
RufflesAllD | 1:96a4c2a39981 | 17 | strftime(buffer, 32, "%Y-%m-%d %H:%M:%S\n\r", localtime(&time)); |
RufflesAllD | 1:96a4c2a39981 | 18 | } |
RufflesAllD | 1:96a4c2a39981 | 19 | |
joGenie | 0:f7d5819b29d5 | 20 | void lecture_analog(void const *args) |
joGenie | 0:f7d5819b29d5 | 21 | { |
joGenie | 0:f7d5819b29d5 | 22 | while (true) |
joGenie | 0:f7d5819b29d5 | 23 | { |
joGenie | 0:f7d5819b29d5 | 24 | // synchronisation sur la période d'échantillonnage |
joGenie | 0:f7d5819b29d5 | 25 | // lecture de l'étampe temporelle |
joGenie | 0:f7d5819b29d5 | 26 | // lecture des échantillons analogiques |
joGenie | 0:f7d5819b29d5 | 27 | // calcul de la nouvelle moyenne courante |
joGenie | 0:f7d5819b29d5 | 28 | // génération éventuelle d'un événement |
joGenie | 0:f7d5819b29d5 | 29 | } |
joGenie | 0:f7d5819b29d5 | 30 | } |
joGenie | 0:f7d5819b29d5 | 31 | |
RufflesAllD | 1:96a4c2a39981 | 32 | void lecture_digital1(void const *thread) |
RufflesAllD | 1:96a4c2a39981 | 33 | { |
RufflesAllD | 1:96a4c2a39981 | 34 | (Thread) |
RufflesAllD | 1:96a4c2a39981 | 35 | } |
RufflesAllD | 1:96a4c2a39981 | 36 | |
joGenie | 0:f7d5819b29d5 | 37 | void lecture_num(void const *args) |
joGenie | 0:f7d5819b29d5 | 38 | { |
joGenie | 0:f7d5819b29d5 | 39 | while (true) |
joGenie | 0:f7d5819b29d5 | 40 | { |
RufflesAllD | 1:96a4c2a39981 | 41 | Thread::signal_wait(0x1); |
RufflesAllD | 1:96a4c2a39981 | 42 | pc.prinft("HAHAHAHAHAHAHA"); |
joGenie | 0:f7d5819b29d5 | 43 | // synchronisation sur la période d'échantillonnage |
joGenie | 0:f7d5819b29d5 | 44 | // lecture de l'étampe temporelle |
joGenie | 0:f7d5819b29d5 | 45 | // lecture des échantillons numériques |
joGenie | 0:f7d5819b29d5 | 46 | // prise en charge du phénomène de rebond |
joGenie | 0:f7d5819b29d5 | 47 | // génération éventuelle d'un événement |
joGenie | 0:f7d5819b29d5 | 48 | } |
joGenie | 0:f7d5819b29d5 | 49 | } |
joGenie | 0:f7d5819b29d5 | 50 | |
joGenie | 0:f7d5819b29d5 | 51 | void collection(void const *args) |
joGenie | 0:f7d5819b29d5 | 52 | { |
RufflesAllD | 1:96a4c2a39981 | 53 | char *time = new char; |
RufflesAllD | 1:96a4c2a39981 | 54 | |
joGenie | 0:f7d5819b29d5 | 55 | while (true) |
joGenie | 0:f7d5819b29d5 | 56 | { |
RufflesAllD | 1:96a4c2a39981 | 57 | showTime(time); |
RufflesAllD | 1:96a4c2a39981 | 58 | pc.printf("time: %s", time); |
RufflesAllD | 1:96a4c2a39981 | 59 | wait(2); |
joGenie | 0:f7d5819b29d5 | 60 | // attente et lecture d'un événement |
joGenie | 0:f7d5819b29d5 | 61 | // écriture de l'événement en sortie (port série) |
joGenie | 0:f7d5819b29d5 | 62 | } |
joGenie | 0:f7d5819b29d5 | 63 | } |
joGenie | 0:f7d5819b29d5 | 64 | |
joGenie | 0:f7d5819b29d5 | 65 | int main() |
joGenie | 0:f7d5819b29d5 | 66 | { |
joGenie | 0:f7d5819b29d5 | 67 | // initialisation du RTC |
RufflesAllD | 1:96a4c2a39981 | 68 | set_time(1390820561); //2014-01-27 11:02:41 |
RufflesAllD | 1:96a4c2a39981 | 69 | |
joGenie | 0:f7d5819b29d5 | 70 | // démarrage des tâches |
RufflesAllD | 1:96a4c2a39981 | 71 | Thread thread1(lecture_num); |
RufflesAllD | 1:96a4c2a39981 | 72 | RtosTimer lect_num(lecture_digital1, osTimerPeriodic, (void*)thread1); |
RufflesAllD | 1:96a4c2a39981 | 73 | lect_num.start(100); |
RufflesAllD | 1:96a4c2a39981 | 74 | //Thread thread2(lecture_analog); |
RufflesAllD | 1:96a4c2a39981 | 75 | //Thread thread3(collection); |
RufflesAllD | 1:96a4c2a39981 | 76 | |
RufflesAllD | 1:96a4c2a39981 | 77 | while(true) {} |
joGenie | 0:f7d5819b29d5 | 78 | } |