This shows you the differences between two versions of the page.
pm:lab:lab1-2023 [2025/03/06 11:57] cezar.zlatea [3. Interfața serială USART] |
pm:lab:lab1-2023 [2025/03/11 19:32] (current) cezar.zlatea [4. Exerciții] |
||
---|---|---|---|
Line 198: | Line 198: | ||
{{:pm:lab:lab1-usart.zip|Schelet}} | {{:pm:lab:lab1-usart.zip|Schelet}} | ||
- | **Task 1** | + | **Task 1 (3p)** |
- | Folosind scheletul de laborator configurează USART0 cu următorii parametri : baud rate 28800, 8 biți de date, 2 bit de stop, fără paritate. Transmiteți către PC mesajul “Butonul 1 a fost apasat” dacă butonul 1 (PB2) este apăsat. | + | Folosind scheletul de laborator configurează USART0 cu următorii parametri: baud rate 19200, 8 biți de date, 1 bit de stop, cu verificare de paritate. Transmiteți către PC mesajul “Butonul 1 a fost apasat” dacă butonul 1 (PB2) este apăsat. |
<note warning> | <note warning> | ||
Line 213: | Line 213: | ||
Pentru a preciza baud rate-ul consolei seriale din VSCode cu PlatformIO, folosiți următoarea variabilă din ''platformio.ini'': | Pentru a preciza baud rate-ul consolei seriale din VSCode cu PlatformIO, folosiți următoarea variabilă din ''platformio.ini'': | ||
<code> | <code> | ||
- | monitor_speed = 28800 | + | monitor_speed = 19200 |
</code> | </code> | ||
Pentru a vedea mesajul scris de la tastatura in serial monitor puteti adauga: | Pentru a vedea mesajul scris de la tastatura in serial monitor puteti adauga: | ||
Line 221: | Line 221: | ||
</note> | </note> | ||
- | **Task 2** | + | **Task 2 (3p)** |
Folosind scheletul de laborator, implementează o nouă funcție USART_exec(unsigned char command) care să accepte următoarele comenzi venite pe USART: | Folosind scheletul de laborator, implementează o nouă funcție USART_exec(unsigned char command) care să accepte următoarele comenzi venite pe USART: | ||
Line 234: | Line 234: | ||
* Blue – PB3 | * Blue – PB3 | ||
- | **Task 3** | + | **Task 3 (4p)** |
- | Trimiteți numele vostru prin interfața serială. Folosind “morse_alphabet” din scheletul de laborator și buzzerul, generati codul Morse aferent acestuia. | + | Trimiteți numele distribuției voastre preferate de Linux prin interfața serială. Folosind “morse_alphabet” din scheletul de laborator și buzzerul, generați codul Morse aferent acestuia. |
- | **Bonus** | + | **Bonus (1p)** |
Implementează un semafor controlat pe USART. Folosește ledul RGB de la Task-ul 1. Culoarea led-ului va fi în permanență roșie, până când mesajul "pieton" va fi primit pe USART. Când mesajul este primit, se va seta culoarea galbenă pentru 2 secunde, după aceasta culoarea verde pentru 5 secunde, revenindu-se la culoarea roșie până la primirea unui mesaj nou. În cazul în care se va primi un mesaj diferit de "pieton", se va trimite pe USART mesajul "cerere incorecta". În timpul execuției comenzii de schimbare a culorilor, mesajele pe USART vor fi ignorate. | Implementează un semafor controlat pe USART. Folosește ledul RGB de la Task-ul 1. Culoarea led-ului va fi în permanență roșie, până când mesajul "pieton" va fi primit pe USART. Când mesajul este primit, se va seta culoarea galbenă pentru 2 secunde, după aceasta culoarea verde pentru 5 secunde, revenindu-se la culoarea roșie până la primirea unui mesaj nou. În cazul în care se va primi un mesaj diferit de "pieton", se va trimite pe USART mesajul "cerere incorecta". În timpul execuției comenzii de schimbare a culorilor, mesajele pe USART vor fi ignorate. |