Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:lab:lab3-2023-2024 [2025/03/23 22:30]
dan.tudose [3. Exerciții]
pm:lab:lab3-2023-2024 [2025/03/23 22:35] (current)
dan.tudose [3. Exerciții]
Line 124: Line 124:
 ===== 3. Exerciții ===== ===== 3. Exerciții =====
  
-Descărcați schelet codului și analizați-l:​+Descărcați schelet codului și analizați-l: ​{{:​pm:​lab:​lab3-skel.zip|schelet}}
  
 Ce timer calculează numărul de systick-uri?​ Ce timer calculează numărul de systick-uri?​
Line 137: Line 137:
  
   * Folosind întreruperi (cu debouncing),​ configurați butoanele PB2 și PD6 pentru a regla intensitatea LED-urilor roșu și albastru.   * Folosind întreruperi (cu debouncing),​ configurați butoanele PB2 și PD6 pentru a regla intensitatea LED-urilor roșu și albastru.
- +    * Inițial, ambele LED-uri pornesc cu un factor de umplere de 0%. 
-Inițial, ambele LED-uri pornesc cu un factor de umplere de 0%. +    ​* ​La fiecare apăsare a butonului PB2, LED-ul roșu își crește factorul de umplere cu 25%. 
- +    ​* ​La fiecare apăsare a butonului PD6, LED-ul albastru își crește factorul de umplere cu 25%. 
-La fiecare apăsare a butonului PB2, LED-ul roșu își crește factorul de umplere cu 25%. +    ​* ​Factorul de umplere va evolua astfel: 0% → 25% → 50% → 75% → 100% → revenire la 0%.
- +
-La fiecare apăsare a butonului PD6, LED-ul albastru își crește factorul de umplere cu 25%. +
- +
-Factorul de umplere va evolua astfel: 0% → 25% → 50% → 75% → 100% → revenire la 0%. +
   * Deoarece timerul 1 este folosit pentru numărarea milisecundelor (systicks), acesta nu poate fi configurat în Fast PWM. Vom învăța să implementăm PWM manual folosind întreruperi:​   * Deoarece timerul 1 este folosit pentru numărarea milisecundelor (systicks), acesta nu poate fi configurat în Fast PWM. Vom învăța să implementăm PWM manual folosind întreruperi:​
     * Timerul 1 are două comparatoare;​ folosiți comparatorul B (COMPB) pentru a genera o întrerupere (TIMER1_COMPB) la o valoare între 0 și 1500 (valoarea medie pentru 50% fiind 750).     * Timerul 1 are două comparatoare;​ folosiți comparatorul B (COMPB) pentru a genera o întrerupere (TIMER1_COMPB) la o valoare între 0 și 1500 (valoarea medie pentru 50% fiind 750).
Line 152: Line 147:
 **Task 3 (2 puncte):** **Task 3 (2 puncte):**
  
-Redați melodia din scheletul de laborator folosind speaker-ul conectat la PD4. +  * Redați melodia din scheletul de laborator folosind speaker-ul conectat la PD4. 
-Nu se poate folosi timerul pentru că acesta e folosit la număratul systick-urilor. +  ​* ​Nu se poate folosi timerul pentru că acesta e folosit la număratul systick-urilor. 
-Reconfigurați timerul 0 pentru a fi folosit în modul CTC și schimbați valoarea pinului PD4 în cadrul întreruperii COMPA +  ​* ​Reconfigurați timerul 0 pentru a fi folosit în modul CTC și schimbați valoarea pinului PD4 în cadrul întreruperii COMPA 
-Folosiți vectorii predefini:​ +  ​* ​Folosiți vectorii predefiniți
- +    ​* ​surprise_notes:​ note cu frecvențele (în Hertz) corespunzătoare. 
- +    * durations: duratele fiecărei note. 
-surprise_notes:​ note cu frecvențele (în Hertz) corespunzătoare. +  * La fiecare notă, frecvența va fi setată folosind registrul OCR0A
  
-durations: duratele fiecărei note. +**Bonus (1 punct):** 
-La fiecare notă, frecvența va fi setată folosind registrul OCR0A +  ​* ​Redați melodia cu o viteză cu 25% mai mare decât cea inițială.
-Bonus (1 punct): +
-Redați melodia cu o viteză cu 25% mai mare decât cea inițială.+
  
 ===== 4. Linkuri utile  ===== ===== 4. Linkuri utile  =====
Line 175: Line 167:
 ===== 5. Responsabili laborator ===== ===== 5. Responsabili laborator =====
  
-  * [[florin.stancu@upb.ro|Stancu Florin]] +  * Iancu Ivasciuc 
-  * [[dicu.teodor@gmail.com|Teodor Dicu]]+  * Andrei Zamfir
  
pm/lab/lab3-2023-2024.1742761859.txt.gz · Last modified: 2025/03/23 22:30 by dan.tudose
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0