Differences

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

Link to this comparison view

pm:lab:lab0-2022 [2023/03/06 08:04]
florin.stancu registrii
pm:lab:lab0-2022 [2023/03/12 10:02] (current)
daniel.dosaru [6. Link-uri utile]
Line 124: Line 124:
  
 Desi la laborator va vom pune sa lucrati direct cu adrese de memorie pentru a configura pinii si a ii controla, va vom arata cum sa folositi si un framework numit Arduino. Acesta este scris in C++ si este practic o biblioteca cu functii ajutatoare si headere (fisiere .h) cu define-uri pentru fiecare procesor in parte. Ca orice nivel de abstractizare in plus, acesta face dezvoltarea mai usoara, dar aduce si un performance penalty de chiar si 20 de ori mai incet uneori. Desi la laborator va vom pune sa lucrati direct cu adrese de memorie pentru a configura pinii si a ii controla, va vom arata cum sa folositi si un framework numit Arduino. Acesta este scris in C++ si este practic o biblioteca cu functii ajutatoare si headere (fisiere .h) cu define-uri pentru fiecare procesor in parte. Ca orice nivel de abstractizare in plus, acesta face dezvoltarea mai usoara, dar aduce si un performance penalty de chiar si 20 de ori mai incet uneori.
-3+
 ===== 3. Let's get to work ===== ===== 3. Let's get to work =====
  
Line 294: Line 294:
 ==== 3.4. Framework-ul Arduino ==== ==== 3.4. Framework-ul Arduino ====
  
-Cum am spus si mai devreme, acest framework aduce un nivel de abstractizare in plus ce mascheaza lucrul cu registre si operatii pe biti in spatele unor functii mai incede, dar convenabile.+Cum am spus si mai devreme, acest framework aduce un nivel de abstractizare in plus ce mascheaza lucrul cu registre si operatii pe biti in spatele unor functii mai incete, dar convenabile.
  
 === 3.4.1 Setup-ul IDE-ului === === 3.4.1 Setup-ul IDE-ului ===
Line 300: Line 300:
   * Tool-ul cel mai des intalnit si oferit de fundatia Arduino este [[https://​www.arduino.cc/​en/​software|Arduino IDE]]. Acesta ofera suport pentru mai multe placi si procesoare AVR, cat si posibilitatea de a instala biblioteci 3'rd party, dar pe lnaga niste syntax highlighting se simte ca si cum ati programa in Notepad++.   * Tool-ul cel mai des intalnit si oferit de fundatia Arduino este [[https://​www.arduino.cc/​en/​software|Arduino IDE]]. Acesta ofera suport pentru mai multe placi si procesoare AVR, cat si posibilitatea de a instala biblioteci 3'rd party, dar pe lnaga niste syntax highlighting se simte ca si cum ati programa in Notepad++.
  
-  * Un alt tool folosit de Microchip este AVR Studio (depracated) si mai nou Atmel Studio. Acesta este un tool profesional si destul de greu de utilizat la capacitati maxime. Daca vreti sa il utilizati, ar fi ca si cum ati folosi un flex sa va taiati friptura.+  * Un alt tool folosit de Microchip este AVR Studio (deprecated) si mai nou Atmel Studio. Acesta este un tool profesional si destul de greu de utilizat la capacitati maxime. Daca vreti sa il utilizati, ar fi ca si cum ati folosi un flex sa va taiati friptura.
  
   * Un al treilea IDE posibil ar fi Visual Studio Code cu extensia de la [[https://​marketplace.visualstudio.com/​items?​itemName=platformio.platformio-ide|PlatformIO]] pentru a avea acces automat la bibliotecile µC-lor si a incarca codul pe acestea, in acelasi timp avand si intellisense.   * Un al treilea IDE posibil ar fi Visual Studio Code cu extensia de la [[https://​marketplace.visualstudio.com/​items?​itemName=platformio.platformio-ide|PlatformIO]] pentru a avea acces automat la bibliotecile µC-lor si a incarca codul pe acestea, in acelasi timp avand si intellisense.
Line 308: Line 308:
 === 3.4.2. Primul cod === === 3.4.2. Primul cod ===
  
-Cel mai simplu cod de arduino ce poate fi compilat este uratorul:+Cel mai simplu cod de arduino ce poate fi compilat este urmatorul:
  
 <spoiler Cod > <spoiler Cod >
Line 341: Line 341:
     }     }
  
-    return -1; // nu ar trebuii ​sa se ajunga aici+    return -1; // nu ar trebui ​sa se ajunga aici
 } }
 </​code>​ </​code>​
Line 425: Line 425:
 **Task 2** Folosind butonul conectat la pinul digital 2 (PD2), configurati registri pentru a face pinul de input si faceti LED-ul sa se aprind cand butonul este apasat. (nu uitati sa activati rezistenta de pull-up interna µC-ului) **Task 2** Folosind butonul conectat la pinul digital 2 (PD2), configurati registri pentru a face pinul de input si faceti LED-ul sa se aprind cand butonul este apasat. (nu uitati sa activati rezistenta de pull-up interna µC-ului)
  
-**Task 3** Acum, folosind butonul conectat la pinul digital 3 (gasiti voi care este macroul pinului), configurati-l si pe acesta ca sa folsoiti ​butoanele pentru a creste si micsora durata delay-ului folosit la exemplul **Hello Word**.+**Task 3** Acum, folosind butonul conectat la pinul digital 3 (gasiti voi care este macroul pinului), configurati-l si pe acesta ca sa folositi ​butoanele pentru a creste si micsora durata delay-ului folosit la exemplul **Hello Word**.
  
 <note tip> <note tip>
Line 440: Line 440:
  
 <​solution>​ <​solution>​
-<​hidden>​Arhiva cu soluțiile o puteți găsi aici: {{:​pm:​lab:​lab0:​lab0-solved.zip}}</​hidden>​+Arhiva cu soluțiile o puteți găsi aici: {{:​pm:​lab:​lab0:​lab0-solved.zip}}
 </​solution>​ </​solution>​
  
pm/lab/lab0-2022.1678082688.txt.gz · Last modified: 2023/03/06 08:04 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