Differences

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

Link to this comparison view

pm:lab:lab2-2023 [2024/03/17 09:55]
florin.stancu
pm:lab:lab2-2023 [2024/03/18 09:08] (current)
florin.stancu add #include <avr/interrupt.h> to timer ISR example
Line 362: Line 362:
  
 <file c > <file c >
 +#include <​avr/​interrupt.h>​
  
 ISR(TIMER1_COMPA_vect) ISR(TIMER1_COMPA_vect)
Line 418: Line 419:
 ===== 3. Exerciții ===== ===== 3. Exerciții =====
  
-**Task 1.**+**Task 1.1**
  
   * Implementați o funcție asemănătoare cu ''​millis()''​ din biblioteca Arduino. Aceasta ar trebui să returneze intervalul de timp trecut de la pornirea (sau ultimul reset) al uC-ului. Configurați interfața USART0 cu aceeași parametri folosiți în laboratorul trecut și transmiteți către PC un mesaj ales de voi la intervale de 1 secundă.   * Implementați o funcție asemănătoare cu ''​millis()''​ din biblioteca Arduino. Aceasta ar trebui să returneze intervalul de timp trecut de la pornirea (sau ultimul reset) al uC-ului. Configurați interfața USART0 cu aceeași parametri folosiți în laboratorul trecut și transmiteți către PC un mesaj ales de voi la intervale de 1 secundă.
Line 425: Line 426:
   * Frecvența de ceas a uC-ului este de 12MHz. Folosiți formulele prezentate anterior pentru a obține valorile potrivite pentru prescaler și registrul de comparație ale timer-ului ales astfel încât întreruperile generate de acesta să se declanșeze la intervalul de timp dorit.   * Frecvența de ceas a uC-ului este de 12MHz. Folosiți formulele prezentate anterior pentru a obține valorile potrivite pentru prescaler și registrul de comparație ale timer-ului ales astfel încât întreruperile generate de acesta să se declanșeze la intervalul de timp dorit.
   * Timer2 poate fi utilizat cu un număr mai mare de valori ale prescaler-ului.   * Timer2 poate fi utilizat cu un număr mai mare de valori ale prescaler-ului.
 +
 +**Task 1.2**
 +  * Pentru a putea citi în mod corect apăsări scurte ale butoanelor este necesară o metodă de debouncing. Cum ar putea fi rezolvată problema citirilor eronate cu ajutorul funcției ''​millis()''?​ Concepeți o funcție (în pseudocod) care să ilustreze soluția găsită.
  
 **Task 2.** **Task 2.**
pm/lab/lab2-2023.1710662102.txt.gz · Last modified: 2024/03/17 09:55 by florin.stancu
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