This shows you the differences between two versions of the page.
pm:prj2024:azamfir:ana_maria.toader02 [2024/05/27 03:09] ana_maria.toader02 [Implementare] |
pm:prj2024:azamfir:ana_maria.toader02 [2024/05/27 03:27] (current) ana_maria.toader02 [Rezultate Obţinute] |
||
---|---|---|---|
Line 163: | Line 163: | ||
digitalWrite(JOYSTICK_INTERRUPT, HIGH); | digitalWrite(JOYSTICK_INTERRUPT, HIGH); | ||
attachInterrupt(digitalPinToInterrupt(JOYSTICK_INTERRUPT), ISR_joystick, RISING); | attachInterrupt(digitalPinToInterrupt(JOYSTICK_INTERRUPT), ISR_joystick, RISING); | ||
+ | </code> | ||
+ | |||
+ | Toate variabilele care vor fi modificate într-o rutină de tratare a întreruperilor trebuie marcate ca **''volatile''** pentru a indica compilatorului să nu treacă variabila prin cache. Orice acces la o variabilă **''volatile''** se va face prin RAM. | ||
+ | <code c> | ||
+ | /* Initialize volatile variables used with button interrupts */ | ||
+ | volatile bool blueButtonFlag = false; | ||
+ | volatile bool redButtonFlag = false; | ||
+ | |||
+ | volatile unsigned long lastPressRed = 0; | ||
+ | volatile unsigned long lastPressBlue = 0; | ||
+ | |||
+ | volatile bool joystickButtonFlag = false; | ||
</code> | </code> | ||
Line 202: | Line 214: | ||
* eliberarea unui grup de celule | * eliberarea unui grup de celule | ||
{{:pm:prj2024:azamfir:ana_maria.toader02:clear_multiple_cells.gif?700|}} | {{:pm:prj2024:azamfir:ana_maria.toader02:clear_multiple_cells.gif?700|}} | ||
- | |||
- | * resetarea jocului la apăsarea switch-ului de pe joystick, cu resetarea timer-ului la 5 minute | ||
- | {{:pm:prj2024:azamfir:ana_maria.toader02:reset.gif?700|}} | ||
* sfârșitul jocului | * sfârșitul jocului | ||
{{:pm:prj2024:azamfir:ana_maria.toader02:game_won.gif?700|}} | {{:pm:prj2024:azamfir:ana_maria.toader02:game_won.gif?700|}} | ||
{{:pm:prj2024:azamfir:ana_maria.toader02:game_over.gif?700|}} | {{:pm:prj2024:azamfir:ana_maria.toader02:game_over.gif?700|}} | ||
+ | |||
+ | * resetarea jocului la apăsarea switch-ului de pe joystick, cu resetarea timer-ului la 5 minute | ||
+ | {{:pm:prj2024:azamfir:ana_maria.toader02:reset.gif?700|}} | ||
+ | |||
===== Concluzii ===== | ===== Concluzii ===== | ||
Un proiect interesant, mă bucur că am obținut ceva funcțional. | Un proiect interesant, mă bucur că am obținut ceva funcțional. |