Projet S5 info - Beginner version
Dependencies: XBeeLib mbed-rtos mbed
Fork of Projet by
main.cpp
00001 #include "mbed.h" 00002 #include "rtos.h" 00003 #include "XBeeLib.h" 00004 00005 using namespace XBeeLib; 00006 00007 Serial pc(USBTX, USBRX); 00008 00009 XBeeZB* xbee; 00010 00011 DigitalIn capteur_1(p23); 00012 DigitalIn capteur_2(p24); 00013 DigitalIn capteur_3(p25); 00014 DigitalIn capteur_4(p26); 00015 DigitalIn capteur_5(p27); 00016 DigitalIn capteur_6(p28); 00017 00018 Mutex capt_lock; 00019 00020 bool capt_1; 00021 bool capt_2; 00022 bool capt_3; 00023 bool capt_4; 00024 bool capt_5; 00025 bool capt_6; 00026 00027 /* lecture des capteurs à partir des broches du mbed : p15, p16, p17, 19, 20 21*/ 00028 00029 void lecture_capteurs (void const *args){ 00030 capt_lock.lock(); 00031 00032 capt_1=capteur_1.read(); 00033 capt_2=capteur_2.read(); 00034 capt_3=capteur_3.read(); 00035 capt_4=capteur_4.read(); 00036 capt_5=capteur_5.read(); 00037 capt_6=capteur_6.read(); 00038 00039 capt_lock.unlock(); 00040 } 00041 00042 void send_data_to_coordinator(const uint8_t* data) 00043 { 00044 const TxStatus txStatus = xbee->send_data_to_coordinator(data, 1); 00045 } 00046 00047 void envoi_donnees (void const *args) { 00048 capt_lock.lock(); 00049 uint8_t data[1]; 00050 data[0] = (capt_1 << 7) | (capt_2 << 6) | (capt_3 << 5) | (capt_4 << 4) | (capt_5 << 3) | (capt_6 << 2); 00051 00052 capt_lock.unlock(); 00053 00054 send_data_to_coordinator(data); 00055 } 00056 00057 int main (void) { 00058 xbee = new XBeeZB(p13, p14, NC, NC, NC, 9600); 00059 00060 RtosTimer readTimer(lecture_capteurs, osTimerPeriodic); 00061 RtosTimer sendTimer(envoi_donnees, osTimerPeriodic); 00062 00063 readTimer.start(10); 00064 sendTimer.start(10); 00065 00066 wait(osWaitForever); 00067 } 00068
Generated on Fri Jul 15 2022 08:04:23 by 1.7.2