ok
Dependencies: mbed ssd1306_library
Diff: main_Carte1.cpp
- Revision:
- 0:bce63d085dc2
- Child:
- 1:a119d8dc3ef7
diff -r 000000000000 -r bce63d085dc2 main_Carte1.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main_Carte1.cpp Tue Feb 09 22:39:06 2021 +0000 @@ -0,0 +1,88 @@ +/* + * Programme Carte 1 + * E. DAVID - Fevrier 2021 + */ + +#if !DEVICE_CAN +#error [NOT_SUPPORTED] CAN not supported for this target +#endif + +#include "mbed.h" +#include "ssd1306.h" + +typedef enum{ + DataFrame, + RemoteFrame, + ErrorFrame, + OverloadFrame +} TypeTrame; +TypeTrame Trame; + +/* +typedef struct{ + can_id_t id; + Uchar ctrl; + Uchar * pt_donne; +} can_msg_t; +*/ + +DigitalOut ledD9(PA_4); +DigitalOut ledD8(PA_5); // Attention, désouder SB16&SB18 si utilisation I2c +DigitalOut ledD7(PA_6); +DigitalOut ledD6(PA_7); + +DigitalIn SW4_1(PA_1); +DigitalIn SW4_2(PA_3); + +InterruptIn SW1(PB_4, PullUp); +InterruptIn SW2(PB_5, PullUp); +InterruptIn SW3(PA_8, PullUp); + +CAN can(PA_11, PA_12); +//Serial pc(USBTX, USBRX); + +char Data[5] = "GEII"; + +/* Envoi d'une trame de donnees */ +void AppuiSW1() { + if (can.write(CANMessage(2021, data, 5 , CANData, CANStandard))) { // Rmq : tableau = pointeur + ledD6 = !ledD6; + } +} + +/* Envoi d'une trame de requete */ +void AppuiSW2() { + if (can.write(CANMessage(1620, CANStandard ))) { + ledD7 = !ledD7; + } +} + +int main() { + //pc.baud(115200); + can.frequency(500000); + //pc.printf("main()\n"); + Etat = lectureSW4(); // valeur 0,1,2,3 + + //CANMessage msg; + //SW1.mode(PullUp); + //SW2.mode(PullUp); + //ledD9 = 1; + //ledD6 = 1; + + SW1.fall(&AppuiSW1); + + + while(1) + { + //SW1.fall(&AppuiSW1); + //SW2.fall(&AppuiSW2); + /* + if(!SW2) //Detect Switch Press + { + //ledD8 = !ledD8; + ledD6 = !ledD6; + while(!SW2); //Wait for Key release + } + */ + } +} \ No newline at end of file