quentin godbert
/
t2-stm32-lift
interrupt géré compil ok sans isr
Fork of T2_STM32 by
main.cpp@2:ab0ccf9bb38c, 2018-01-14 (annotated)
- Committer:
- Tioneb
- Date:
- Sun Jan 14 15:50:49 2018 +0000
- Revision:
- 2:ab0ccf9bb38c
- Parent:
- 1:979edb6d1559
- Child:
- 5:d6484db1ec5c
Test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Tioneb | 0:c365c76c11c3 | 1 | #include "mbed.h" |
Tioneb | 0:c365c76c11c3 | 2 | |
Tioneb | 2:ab0ccf9bb38c | 3 | // Modification dans variant.h de la variable PWM_FREQUENCY afin de changer la fréquence par défaut du PWM |
Tioneb | 2:ab0ccf9bb38c | 4 | |
Tioneb | 2:ab0ccf9bb38c | 5 | //#include "StepperMotor.h" // Classe Moteur pas à pas |
Tioneb | 2:ab0ccf9bb38c | 6 | #include "Cylinder.h" |
Tioneb | 2:ab0ccf9bb38c | 7 | #include "Carriage.h" |
Tioneb | 2:ab0ccf9bb38c | 8 | #include "Lift.h" // Classe Ascenseur |
Tioneb | 2:ab0ccf9bb38c | 9 | #include "Config.h" // Bibliothéque Configuration |
Tioneb | 0:c365c76c11c3 | 10 | |
Tioneb | 2:ab0ccf9bb38c | 11 | unsigned char Carriage_CurrentPos = 1, |
Tioneb | 2:ab0ccf9bb38c | 12 | Lift_CurrentPos = 1, |
Tioneb | 2:ab0ccf9bb38c | 13 | RxdBuffer[2], // Déclaration Buffer de réception |
Tioneb | 2:ab0ccf9bb38c | 14 | ActualAdress = 0, |
Tioneb | 2:ab0ccf9bb38c | 15 | Address = 0, |
Tioneb | 2:ab0ccf9bb38c | 16 | Command = 0, |
Tioneb | 2:ab0ccf9bb38c | 17 | Check_serial_is_OK, |
Tioneb | 2:ab0ccf9bb38c | 18 | State = 0; |
Tioneb | 2:ab0ccf9bb38c | 19 | int Sequence = 0, |
Tioneb | 2:ab0ccf9bb38c | 20 | i = 0, |
Tioneb | 2:ab0ccf9bb38c | 21 | j = 0; |
Tioneb | 2:ab0ccf9bb38c | 22 | unsigned long CurrentMillis; // Variable millis |
Tioneb | 2:ab0ccf9bb38c | 23 | bool test = true; |
Tioneb | 0:c365c76c11c3 | 24 | |
Tioneb | 2:ab0ccf9bb38c | 25 | Lift Lift(Lift_pinUp, Lift_pinDown, Lift_UpSensor, Lift_MiddleSensor); //Appel de l'objet ascenseur |
Tioneb | 2:ab0ccf9bb38c | 26 | Cylinder Cylinder(Cylinder_OriginSensor, Cylinder_StepPin, Cylinder_DirPin, Cylinder_EnablePin, Cylinder_PosMin, Cylinder_PosMax); //Appel de l'objet barillet |
Tioneb | 2:ab0ccf9bb38c | 27 | Carriage Carriage(Carriage_OriginSensor, Carriage_StepPin, Carriage_DirPin, Carriage_EnablePin, Carriage_PosMin, Carriage_PosMax); //Appel de l'objet chariot |
Tioneb | 2:ab0ccf9bb38c | 28 | |
Tioneb | 2:ab0ccf9bb38c | 29 | void setup() { |
Tioneb | 2:ab0ccf9bb38c | 30 | |
Tioneb | 2:ab0ccf9bb38c | 31 | Serial.begin(115200); // Port série pour communication avec Raspberry |
Tioneb | 2:ab0ccf9bb38c | 32 | |
Tioneb | 2:ab0ccf9bb38c | 33 | pinMode(Carriage_OriginSensor, INPUT_PULLUP); |
Tioneb | 2:ab0ccf9bb38c | 34 | pinMode(Buzzer_Output, OUTPUT); |
Tioneb | 2:ab0ccf9bb38c | 35 | pinMode(Cylinder_EnablePin, INPUT); |
Tioneb | 2:ab0ccf9bb38c | 36 | digitalWrite(Cylinder_DirPin, LOW); |
Tioneb | 2:ab0ccf9bb38c | 37 | Cylinder.Origin(Cylinder_OriginSensor); |
Tioneb | 2:ab0ccf9bb38c | 38 | |
Tioneb | 2:ab0ccf9bb38c | 39 | } |
Tioneb | 2:ab0ccf9bb38c | 40 | |
Tioneb | 2:ab0ccf9bb38c | 41 | void loop() { |
Tioneb | 0:c365c76c11c3 | 42 | |
Tioneb | 2:ab0ccf9bb38c | 43 | // Remise à zéro des variables de communications à chaque boucle |
Tioneb | 2:ab0ccf9bb38c | 44 | Address = 0; |
Tioneb | 2:ab0ccf9bb38c | 45 | Command = 0; |
Tioneb | 2:ab0ccf9bb38c | 46 | State = 0; |
Tioneb | 2:ab0ccf9bb38c | 47 | |
Tioneb | 2:ab0ccf9bb38c | 48 | ReadSerial(); // Lecture série |
Tioneb | 2:ab0ccf9bb38c | 49 | |
Tioneb | 2:ab0ccf9bb38c | 50 | Address = RxdBuffer[0]; |
Tioneb | 2:ab0ccf9bb38c | 51 | Command = RxdBuffer[1]; |
Tioneb | 0:c365c76c11c3 | 52 | |
Tioneb | 2:ab0ccf9bb38c | 53 | Check_serial_is_OK = 0; |
Tioneb | 2:ab0ccf9bb38c | 54 | // Tester la trame recu |
Tioneb | 2:ab0ccf9bb38c | 55 | if ((Address != Start_Command) && (Command != Start_Command)){ // si la trame est correct (pas de 9 dans la commande ou l'adresse) |
Tioneb | 2:ab0ccf9bb38c | 56 | Check_serial_is_OK = 1; |
Tioneb | 2:ab0ccf9bb38c | 57 | } |
Tioneb | 2:ab0ccf9bb38c | 58 | else{ // si la trame est mauvaise, ou identique, ne rien faire dans le switch/case |
Tioneb | 2:ab0ccf9bb38c | 59 | Address = 0; |
Tioneb | 2:ab0ccf9bb38c | 60 | } |
Tioneb | 2:ab0ccf9bb38c | 61 | |
Tioneb | 2:ab0ccf9bb38c | 62 | //////////////////////////////////// DEV: Affichage de la trame reçue //////////////////////////////////// |
Tioneb | 2:ab0ccf9bb38c | 63 | Serial3.print("Reception : "); |
Tioneb | 2:ab0ccf9bb38c | 64 | Serial3.print(Start_Command); |
Tioneb | 2:ab0ccf9bb38c | 65 | Serial3.print(RxdBuffer[0]); |
Tioneb | 2:ab0ccf9bb38c | 66 | Serial3.println(RxdBuffer[1]); |
Tioneb | 2:ab0ccf9bb38c | 67 | |
Tioneb | 2:ab0ccf9bb38c | 68 | digitalWrite(Buzzer_Output, HIGH); |
Tioneb | 2:ab0ccf9bb38c | 69 | delay(500); |
Tioneb | 2:ab0ccf9bb38c | 70 | digitalWrite(Buzzer_Output, LOW); |
Tioneb | 2:ab0ccf9bb38c | 71 | delay(500); |
Tioneb | 2:ab0ccf9bb38c | 72 | digitalWrite(Buzzer_Output, HIGH); |
Tioneb | 2:ab0ccf9bb38c | 73 | delay(500); |
Tioneb | 2:ab0ccf9bb38c | 74 | digitalWrite(Buzzer_Output, LOW); |
Tioneb | 2:ab0ccf9bb38c | 75 | delay(500); |
Tioneb | 2:ab0ccf9bb38c | 76 | digitalWrite(Buzzer_Output, HIGH); |
Tioneb | 2:ab0ccf9bb38c | 77 | delay(500); |
Tioneb | 2:ab0ccf9bb38c | 78 | digitalWrite(Buzzer_Output, LOW); |
Tioneb | 2:ab0ccf9bb38c | 79 | delay(500); |
Tioneb | 2:ab0ccf9bb38c | 80 | |
Tioneb | 2:ab0ccf9bb38c | 81 | } |