This shows you the differences between two versions of the page.
pm:lab:lab1-2022 [2023/03/13 10:59] alexandru.predescu [4. Exerciții] |
pm:lab:lab1-2022 [2023/03/16 15:37] (current) alexandru.predescu [4. Exerciții] |
||
---|---|---|---|
Line 174: | Line 174: | ||
/* pune datele în buffer; transmisia va porni automat în urma scrierii */ | /* pune datele în buffer; transmisia va porni automat în urma scrierii */ | ||
UDR0 = data; | UDR0 = data; | ||
+ | } | ||
+ | |||
+ | char USART0_receive() | ||
+ | { | ||
+ | /* asteapta cat timp bufferul e gol */ | ||
+ | while (!(UCSR0A & (1 << RXC0))); | ||
+ | |||
+ | /* returneaza datele din buffer */ | ||
+ | return UDR0; | ||
} | } | ||
</file> | </file> | ||
Line 225: | Line 234: | ||
void loop() | void loop() | ||
{ | { | ||
- | if (Serial.available()){ | + | if (Serial.available()) { |
char a = Serial.read(); | char a = Serial.read(); | ||
char buf[20]; | char buf[20]; | ||
Line 253: | Line 262: | ||
<note tip> | <note tip> | ||
* pentru a primi un șir de caractere de la interfața serială, puteți folosi un vector de caractere pe post de buffer | * pentru a primi un șir de caractere de la interfața serială, puteți folosi un vector de caractere pe post de buffer | ||
- | * pentru a verifica dacă șirul de caractere primit corespunde cu comanda, puteți folosi funcția //strcmp()// | + | * pentru a verifica dacă șirul de caractere primit corespunde cu comanda, puteți folosi funcția //strcmp()//, ex. //strcmp(a, b) == 0// |
</note> | </note> | ||
Line 308: | Line 317: | ||
</solution> | </solution> | ||
</hidden> | </hidden> | ||
+ | |||
**Task 3** (4p) | **Task 3** (4p) | ||
Line 327: | Line 337: | ||
</note> | </note> | ||
+ | |||
**Bonus** (2p) | **Bonus** (2p) |