Les directives de préprocesseur
Directives lié à la compilation :
#define
Nous permet d'attribuer un mot ou une série de lettre à un composant du µC pour une programmation plus confortable. Par exemple le moteur droit est sur la sortie C3 du µC, plutôt que de retenir le numéro de la sortie on écrira #define motd pin_c3 en début de programme. Ainsi lorsque l'on écrira « motd » n'importe où dans le programme, le µC enverra l'info sur la sortie c3. Plus besoin de ce rappeler à quoi est branché chaque sortie du µC, donc un gain de temps considérable.
#include <>
Nous permet tout simplement d'intégré un fichier extérieur à la compilation de son programme. On l'utilise au moins une fois par programme pour définir le PIC que l'on utilise, mais on peu aussi l'utiliser pour intégré un autre fichier à la compilation tel qu'un fichier de fonctions à part. Ainsi on aura quelque chose comme ça : #include <16f876A.h> et #include
Directives de définitions matérielles:
Ces directives ne sont valable que pour le compilateur CSS
#device
Précise le µC que l'on utilise, son intérêt réside surtout dans le fait qu'il permet de préciser d'autre chose comme la taille des pointeurs utilisé ou le nombre de bit du convertisseur A/N.
#fuses
Nous permet de programmé les fusible de programmation du pic, à savoir:
- LP (entre 32 et 200kHz), XT (entre 100kHz et 4MHz), ou HS (entre 4MHz et 20MHz) pour le type d'horloge.
- WDT ou NOWDT pour la validation ou non du timer chien de garde (watchdog).
- PROTECT ou NOPROTECT pour protéger ou non la mémoire du programme.
- PUT ou NOPUT pour démarrer ou non le timer à la mise sous tension.
- BROWNOUT ou NOBROWNOUT utilisé ou non la détection de baise anormal de la tension d'alimentation.
Par exemple #fuses XT, NOWDT, NOPROTECT, NOPUT
#use delay (clock=xxx...)
Pour précisé la fréquence (en Hertz) d'horloge du PIC, cette directive donne accès aux fonctions delays_ms() et delay_us() que l'on verra plus tard.
Exemple : #use delay (clock=20000000) pour un quartz (horloge) de 20MHz.
Voila pour les principales, il y en a beaucoup d'autre que j'utilise peu, je les expliquerais si le besoin s'en ressent par la suite.
|