Differences

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

Link to this comparison view

patr:laboratoare:08 [2022/01/06 14:50]
alexandru.ionita99
patr:laboratoare:08 [2022/02/17 09:47] (current)
alexandru.ionita99
Line 1: Line 1:
-===== Laboratorul 08Timing & Timere =====+===== Laboratorul 08 Timing & Timere =====
  
 ==== Timere Arduino ==== ==== Timere Arduino ====
Line 13: Line 13:
 ==== Software Timer API ==== ==== Software Timer API ====
  
-Timerele menționate anterior sunt **hardware**,​ iar utilizarea lor nu este cea mai facilă. FreeRTOS simplifică acest lucru, printr-un API specializat în crearea de timere **software**. Aceste timere sunt mai ușor de utilizat, întrucât funcționează ca o punte între programator și circuitele electronice. ​+Timerele menționate anterior sunt **hardware**,​ iar utilizarea lor nu este cea mai facilă. FreeRTOS simplifică acest lucru, printr-un API specializat în crearea de timere **software**. Aceste timere sunt mai ușor de utilizat, întrucât funcționează ca o punte între programator și circuitele electronice. ​Pe lângă bilbioteca FreeRTOS, trebuie inclusă în proiect și biblioteca //​timers.h//​
  
 În [[https://​www.freertos.org/​fr-content-src/​uploads/​2018/​07/​FreeRTOS_Reference_Manual_V10.0.0.pdf|documentația FreeRTOS]], informații despre acest API se găsesc începând cu pagina 253.  În [[https://​www.freertos.org/​fr-content-src/​uploads/​2018/​07/​FreeRTOS_Reference_Manual_V10.0.0.pdf|documentația FreeRTOS]], informații despre acest API se găsesc începând cu pagina 253. 
Line 20: Line 20:
 Pentru a crea un timer software, este utilizată funcția **TimerHandle_t xTimerCreate( const char *pcTimerName,​ const TickType_t xTimerPeriod,​ const UBaseType_t uxAutoReload,​ void * const pvTimerID, TimerCallbackFunction_t pxCallbackFunction );**, care se apelează pentru un element de tipul **TimerHandle_t**. Parametrii funcției sunt: Pentru a crea un timer software, este utilizată funcția **TimerHandle_t xTimerCreate( const char *pcTimerName,​ const TickType_t xTimerPeriod,​ const UBaseType_t uxAutoReload,​ void * const pvTimerID, TimerCallbackFunction_t pxCallbackFunction );**, care se apelează pentru un element de tipul **TimerHandle_t**. Parametrii funcției sunt:
   * *pcTimerName - Un nume atribuit timer-ului   * *pcTimerName - Un nume atribuit timer-ului
-  * xTimerPeriod - Numărul de **cicli ​procesor** după care timer-ul va expira+  * xTimerPeriod - Numărul de **cicli ​de ceas** după care timer-ul va expira
   * uxAutoReload - Specificăm dacă timer-ul va expira după perioada xTimerPeriod sau va fi automat rearmat   * uxAutoReload - Specificăm dacă timer-ul va expira după perioada xTimerPeriod sau va fi automat rearmat
   * pvTimerID - un număr care să identifice în mod unic timer-ul   * pvTimerID - un număr care să identifice în mod unic timer-ul
Line 27: Line 27:
 Pentru orice valoare diferită de NULL întoarsă de funcție, timer-ul a fost creat cu succes Pentru orice valoare diferită de NULL întoarsă de funcție, timer-ul a fost creat cu succes
  
-<note important>​Parametrul //​xTimerPeriod//​ definește numărul de cicli procesor. Pentru a converti timpul din milisecunde în cicli procesor, utilizați funcția **pdMS_TO_TICKS()**</​note>​+<note important>​Parametrul //​xTimerPeriod//​ definește numărul de cicli de ceas. Pentru a converti timpul din milisecunde în cicli de ceas, utilizați funcția **pdMS_TO_TICKS()**</​note>​
  
 **Exemplu:​** **Exemplu:​**
 <code c> <code c>
 +#include <​Arduino_FreeRTOS.h>​
 +#include <​timers.h>​
 +
 // Declarare element de tipul TimerHandle_t // Declarare element de tipul TimerHandle_t
 TimerHandle_t xTimer; TimerHandle_t xTimer;
Line 82: Line 85:
 else else
 { {
-   // Timer creat cu succes. Se încearcă activarea acestuia. Se așteaptă maxim 10 cicli procesor ​pentru a fi activat. ​+   // Timer creat cu succes. Se încearcă activarea acestuia. Se așteaptă maxim 10 cicli de ceas pentru a fi activat. ​
    if( xTimerStart( xTimer, 10 ) != pdPASS )    if( xTimerStart( xTimer, 10 ) != pdPASS )
    {    {
patr/laboratoare/08.1641473432.txt.gz · Last modified: 2022/01/06 14:50 by alexandru.ionita99
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