Ce module fournit un mécanisme d'allocation dynamique de mémoire optimisé. 
 | 
| 
typedef struct xHeap  | xHeap | 
|   | Structure pour gérer un tas. 
  | 
|   | 
      
        
          | #define HEAP_DEFINE_BUF | 
          ( | 
            | 
          name,  | 
        
        
           | 
           | 
            | 
          size  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Allocation d'un tas de taille size. 
- Paramètres
 - 
  
    | name | nom du tas  | 
    | size | taille du tas en octets  | 
  
   
Définition à la ligne 77 du fichier heap.h.
 
 
      
        
          | void* pvHeapAllocMem  | 
          ( | 
          xHeap *  | 
          heap,  | 
        
        
           | 
           | 
          size_t  | 
          size  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Alloue un bloc sur le tas. 
- Paramètres
 - 
  
    | heap | tas  | 
    | size | taille en octets du bloc demandé  | 
  
   
- Renvoie
 - pointeur sur le bloc ou NULL en cas d'erreur 
 
 
 
      
        
          | void* pvHeapCalloc  | 
          ( | 
          xHeap *  | 
          heap,  | 
        
        
           | 
           | 
          size_t  | 
          nmemb,  | 
        
        
           | 
           | 
          size_t  | 
          size  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Alloue un bloc sur le tas pour un tableau. 
Cette fonction est conforme à la fonction calloc() C ANSI. 
Chaque bloc alloué avec cette fonction aura une taille supérieure à la taille demandée de sizeof(size_t) (2 octets sur AVR8).
- Paramètres
 - 
  
    | heap | tas  | 
    | nmemb | nombre d'éléments  | 
    | size | taille en octets de l'élément  | 
  
   
- Renvoie
 - pointeur sur le bloc ou NULL en cas d'erreur 
 
 
 
      
        
          | void* pvHeapMalloc  | 
          ( | 
          xHeap *  | 
          heap,  | 
        
        
           | 
           | 
          size_t  | 
          size  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Alloue un bloc sur le tas. 
Cette fonction est conforme à la fonction malloc() C ANSI. 
Chaque bloc alloué avec cette fonction aura une taille supérieure à la taille demandée de sizeof(size_t) (2 octets sur AVR8).
- Paramètres
 - 
  
    | heap | tas  | 
    | size | taille en octets du bloc demandé  | 
  
   
- Renvoie
 - pointeur sur le bloc ou NULL en cas d'erreur 
 
 
 
      
        
          | size_t ulHeapFreeSpace  | 
          ( | 
          xHeap *  | 
          heap | ) | 
           | 
        
      
 
Quantité de mémoire libre d'un tas. 
- Paramètres
 - 
  
  
 
- Renvoie
 - nombre d'octets libre 
 
- Note
 - La valeur retournée est la somme de toutes les zones libres. Ces régions ne sont pas forcément contigues, aussi une allocation peut échouer même si si la taille demandée est inférieure à l'espace libre. 
 
 
 
      
        
          | void vHeapFree  | 
          ( | 
          xHeap *  | 
          heap,  | 
        
        
           | 
           | 
          void *  | 
          mem  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Libère un bloc alloué avec pvHeapMalloc() ou pvHeapCalloc() 
Cette fonction est conforme à la fonction free() C ANSI. 
 
- Paramètres
 - 
  
    | heap | tas  | 
    | mem | pointeur sur le bloc à libérer  | 
  
   
 
 
      
        
          | void vHeapFreeMem  | 
          ( | 
          xHeap *  | 
          heap,  | 
        
        
           | 
           | 
          void *  | 
          mem,  | 
        
        
           | 
           | 
          size_t  | 
          size  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Libère un bloc alloué avec pvHeapAllocMem() 
- Paramètres
 - 
  
    | heap | tas  | 
    | mem | pointeur sur le bloc à libérer  | 
    | size | taille en octets du bloc  | 
  
   
 
 
      
        
          | void vHeapInit  | 
          ( | 
          xHeap *  | 
          heap,  | 
        
        
           | 
           | 
          void *  | 
          memory,  | 
        
        
           | 
           | 
          size_t  | 
          size  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Initialise un tas. 
- Paramètres
 - 
  
    | heap | tas  | 
    | memory | buffer mémoire déclaré avec HEAP_DEFINE_BUF()  | 
    | size | taille en octets du buffer  |