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.
main.cpp@5:e7fa92a21eff, 2017-06-03 (annotated)
- Committer:
- Taliarte
- Date:
- Sat Jun 03 14:37:34 2017 +0000
- Revision:
- 5:e7fa92a21eff
- Parent:
- 2:654aafc318bf
- Child:
- 6:2c713a0187dd
BDD avec recherche;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dedounet | 0:bcbc14441ee8 | 1 | #include "mbed.h" |
Taliarte | 1:6f8bf5bdc70f | 2 | #include "rtos.h" |
Taliarte | 5:e7fa92a21eff | 3 | #include <vector> |
Taliarte | 1:6f8bf5bdc70f | 4 | #define SIG_RX_CAN 0x01 |
Taliarte | 1:6f8bf5bdc70f | 5 | |
Taliarte | 5:e7fa92a21eff | 6 | using namespace std; |
Taliarte | 1:6f8bf5bdc70f | 7 | |
Taliarte | 1:6f8bf5bdc70f | 8 | DigitalOut led1(LED1); |
Taliarte | 1:6f8bf5bdc70f | 9 | DigitalOut led2(LED2); |
dedounet | 0:bcbc14441ee8 | 10 | |
Taliarte | 1:6f8bf5bdc70f | 11 | Thread threadA; |
Taliarte | 1:6f8bf5bdc70f | 12 | Thread threadB; |
Taliarte | 1:6f8bf5bdc70f | 13 | |
Taliarte | 5:e7fa92a21eff | 14 | char * BDD[8]; |
Taliarte | 5:e7fa92a21eff | 15 | |
Taliarte | 1:6f8bf5bdc70f | 16 | |
Taliarte | 1:6f8bf5bdc70f | 17 | CAN CanPort(p30, p29); |
Taliarte | 1:6f8bf5bdc70f | 18 | CANMessage MessageRx; |
Taliarte | 1:6f8bf5bdc70f | 19 | CANMessage MessageTx; |
Taliarte | 1:6f8bf5bdc70f | 20 | |
Taliarte | 2:654aafc318bf | 21 | CANMessage MessageBuzzer; |
Taliarte | 2:654aafc318bf | 22 | |
Taliarte | 2:654aafc318bf | 23 | bool Send_Buzz=false; // Envoyer tramme au buzzer |
Taliarte | 2:654aafc318bf | 24 | |
Taliarte | 1:6f8bf5bdc70f | 25 | unsigned int Id; |
dedounet | 0:bcbc14441ee8 | 26 | |
Taliarte | 5:e7fa92a21eff | 27 | bool rechercheID(char * ID) // recherche d'un ID dans la base de données |
Taliarte | 5:e7fa92a21eff | 28 | { |
Taliarte | 5:e7fa92a21eff | 29 | bool retour = false; |
Taliarte | 5:e7fa92a21eff | 30 | for( int i= 0; i< sizeof(BDD); i++) |
Taliarte | 5:e7fa92a21eff | 31 | { |
Taliarte | 5:e7fa92a21eff | 32 | if (BDD[i]==ID) retour= true ; |
Taliarte | 5:e7fa92a21eff | 33 | } |
Taliarte | 5:e7fa92a21eff | 34 | return retour; |
Taliarte | 5:e7fa92a21eff | 35 | } |
Taliarte | 5:e7fa92a21eff | 36 | |
Taliarte | 1:6f8bf5bdc70f | 37 | |
Taliarte | 1:6f8bf5bdc70f | 38 | void canReader(void) |
Taliarte | 1:6f8bf5bdc70f | 39 | { |
Taliarte | 1:6f8bf5bdc70f | 40 | |
Taliarte | 1:6f8bf5bdc70f | 41 | |
Taliarte | 1:6f8bf5bdc70f | 42 | if (CanPort.read(MessageRx)) |
Taliarte | 1:6f8bf5bdc70f | 43 | { |
Taliarte | 1:6f8bf5bdc70f | 44 | led1 = !led1; |
Taliarte | 1:6f8bf5bdc70f | 45 | threadA.signal_set(SIG_RX_CAN); |
Taliarte | 1:6f8bf5bdc70f | 46 | } |
Taliarte | 1:6f8bf5bdc70f | 47 | |
Taliarte | 1:6f8bf5bdc70f | 48 | } |
Taliarte | 1:6f8bf5bdc70f | 49 | |
Taliarte | 1:6f8bf5bdc70f | 50 | |
Taliarte | 1:6f8bf5bdc70f | 51 | void thA() |
Taliarte | 1:6f8bf5bdc70f | 52 | { |
Taliarte | 1:6f8bf5bdc70f | 53 | while(true) |
Taliarte | 1:6f8bf5bdc70f | 54 | { |
Taliarte | 1:6f8bf5bdc70f | 55 | Thread::signal_wait(SIG_RX_CAN); |
Taliarte | 1:6f8bf5bdc70f | 56 | led2 = !led2; |
Taliarte | 1:6f8bf5bdc70f | 57 | printf("RX FRAME ID = %X\n\r",MessageRx.id); |
Taliarte | 1:6f8bf5bdc70f | 58 | |
dedounet | 0:bcbc14441ee8 | 59 | } |
dedounet | 0:bcbc14441ee8 | 60 | } |
Taliarte | 1:6f8bf5bdc70f | 61 | |
Taliarte | 1:6f8bf5bdc70f | 62 | void thB() |
Taliarte | 1:6f8bf5bdc70f | 63 | { |
Taliarte | 2:654aafc318bf | 64 | while(true) |
Taliarte | 1:6f8bf5bdc70f | 65 | { |
Taliarte | 1:6f8bf5bdc70f | 66 | led1 = !led1; |
Taliarte | 1:6f8bf5bdc70f | 67 | printf("TIC3s\n\r"); |
Taliarte | 2:654aafc318bf | 68 | MessageBuzzer.id=Id; |
Taliarte | 2:654aafc318bf | 69 | CanPort.write(MessageBuzzer); |
Taliarte | 2:654aafc318bf | 70 | /*if (Id < 0x3FF) Id++; |
Taliarte | 2:654aafc318bf | 71 | else Id = 0x000;*/ |
Taliarte | 1:6f8bf5bdc70f | 72 | |
Taliarte | 1:6f8bf5bdc70f | 73 | wait(3); |
Taliarte | 1:6f8bf5bdc70f | 74 | } |
Taliarte | 1:6f8bf5bdc70f | 75 | } |
Taliarte | 1:6f8bf5bdc70f | 76 | |
Taliarte | 1:6f8bf5bdc70f | 77 | int main() |
Taliarte | 1:6f8bf5bdc70f | 78 | { |
Taliarte | 5:e7fa92a21eff | 79 | char c[8] ={0x00,0x00,0x00,0x00,0x3E,0xC1,0xF5,0x8A}; |
Taliarte | 2:654aafc318bf | 80 | |
Taliarte | 1:6f8bf5bdc70f | 81 | CanPort.frequency(20000); |
Taliarte | 1:6f8bf5bdc70f | 82 | |
Taliarte | 2:654aafc318bf | 83 | Id = 0x222; |
Taliarte | 2:654aafc318bf | 84 | MessageBuzzer.len=1; |
Taliarte | 2:654aafc318bf | 85 | MessageBuzzer.data[0] = 0x01; |
Taliarte | 2:654aafc318bf | 86 | //MessageTx.data[1] = 0xAA; |
Taliarte | 1:6f8bf5bdc70f | 87 | |
Taliarte | 1:6f8bf5bdc70f | 88 | MessageTx.format = CANStandard; |
Taliarte | 1:6f8bf5bdc70f | 89 | //MessageTx.format = CANExtended; |
Taliarte | 1:6f8bf5bdc70f | 90 | |
Taliarte | 1:6f8bf5bdc70f | 91 | MessageTx.type = CANData; |
Taliarte | 1:6f8bf5bdc70f | 92 | //MessageTx.type = CANRemote; |
Taliarte | 1:6f8bf5bdc70f | 93 | |
Taliarte | 1:6f8bf5bdc70f | 94 | CanPort.attach(canReader,CAN::RxIrq); |
Taliarte | 1:6f8bf5bdc70f | 95 | |
Taliarte | 1:6f8bf5bdc70f | 96 | threadA.start(thA); |
Taliarte | 1:6f8bf5bdc70f | 97 | threadB.start(thB); |
Taliarte | 1:6f8bf5bdc70f | 98 | |
Taliarte | 1:6f8bf5bdc70f | 99 | led1 = 0; |
Taliarte | 2:654aafc318bf | 100 | |
Taliarte | 1:6f8bf5bdc70f | 101 | while (true) |
Taliarte | 1:6f8bf5bdc70f | 102 | { |
Taliarte | 1:6f8bf5bdc70f | 103 | |
Taliarte | 1:6f8bf5bdc70f | 104 | } |
Taliarte | 1:6f8bf5bdc70f | 105 | } |