Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
|
gcbasic:compilateur:ifdef [2009/11/01 23:19] per créée |
gcbasic:compilateur:ifdef [2009/12/19 18:08] (Version actuelle) per |
||
|---|---|---|---|
| Ligne 8: | Ligne 8: | ||
| Explication : | Explication : | ||
| - | La directive #ifdef es usada para permitir selectivamente secciones de código. Hay tres manera en las cuales puede usarse. | + | La directive #ifdef est utilisée pour choisir sélectivement des parties de code. Il y a trois manière dans lesquels on peut l'utiliser. |
| - | La ventaja de usar #ifdef es preferible que una serie equivalente de IF por la cantidad de código que es bajado al PIC chip. #ifdef controla que codigo es compilado y bajado. IF controla que es corrido de una vez en el PIC chip. #ifdef deberia ser usado cuando alguna vez el valor de una constante deba ser chequeado. | + | L'avantage d'utiliser #ifdef est préférable à une série équivalente de IF par la quantité de code qui est chargé dans la puce du PIC. #ifdef contrôle que le code est compilé et chargé. IF contrôle le fonctionnement, une fois dans la puce du PIC. #ifdef devrait être utilisé quand une fois la valeur d'une constante doit être testé. |
| - | (Nota: El código en las siguientes secciones no se compilará, por que no se han puesto las directivas del PIC chip y los comandos DIR. Se entiende que solo son listados como ejemplo) | + | (Note: Le code dans les sections suivantes ne se compilera pas, parce que on n'a pas mis les directives de la puce PIC et les commandes DIR. Comprenez qu'ils sont seulement donnés comme exemple) |
| - | Permitiendo código si una constante es definida | + | Permettre le code si une constante est définie |
| - | Syntax Example: | + | ===== Exemple 1 de Syntaxe ===== |
| + | |||
| + | <code> | ||
| #define Blink1 | #define Blink1 | ||
| Ligne 26: | Ligne 28: | ||
| Wait 1 sec | Wait 1 sec | ||
| #endif | #endif | ||
| + | </code> | ||
| - | Este codigo hará pulsar PORTB.0, pero no a PORTB.1. Esto es debido a que Blink1 ha sido definido, pero Blink2 no. Si la linea: | + | Ce code enverra une impulsion sur PORTB.0, mais pas sur PORTB.1. Ceci est dû à ce que Blink1 a été défini, mais pas Blink2. Si la ligne : |
| #define Blink2 | #define Blink2 | ||
| - | fuera añadida el comienzo del programa, entonces ambos pines podrian pulsar. El valor de una constante definida no es importante y puede dejarse fuera de la linea de #define. | + | était ajouté au commencement du programme, alors les deux broches pourraient envoyer des impulsion. La valeur d'une constante définie n'est pas importante et peut être laissé loin de la ligne du #define. |
| - | Permitiendo ejecución de código si una constante es definida y tiene un valor dado | + | Permettre l'exécution du code si une constante est définie et a une valeur donnée |
| - | Ejemplo de Sintaxis | + | ===== Exemple 2 de Syntaxe ===== |
| + | |||
| + | <code> | ||
| #define PinsToFlash 2 | #define PinsToFlash 2 | ||
| Ligne 47: | Ligne 52: | ||
| PulseOut PORTB.2, 1 sec | PulseOut PORTB.2, 1 sec | ||
| #endif | #endif | ||
| + | </code> | ||
| + | |||
| + | Ce programme utilise une constante appelée PinsToFlash qui contrôle combien de lumières clignotent. PORTB.0 clignote quand PinToFlash est égale à 1, 2 ou 3, PORTB.1 cignote quand PinToFlash égale 2 ou 3, et PORTB.2 clignote quand PinsToFlash égale 3. | ||
| - | Este programa usa una constante llamada PinsToFlash que controla cuantas luces son pulsadas. PORTB.0 es pulsado cuando PinToFlash es igual a 1, 2 o 3, PORTB.1 es pulsado cuando PinToFlash iguala 2 o 3, y PORTB.2 es pulsado cuando PinsToFlash es 3. | + | Permettre le code si un système de variables est défini |
| - | Permitiendo código si un sistema de variables es definido | + | ===== Exemple de Syntaxe ===== |
| - | Ejemplo de Syntaxis | + | <code> |
| #ifdef NoVar(ANSEL) | #ifdef NoVar(ANSEL) | ||
| SET ADCON1.PCFG3 OFF | SET ADCON1.PCFG3 OFF | ||
| Ligne 62: | Ligne 70: | ||
| ANSEL = 0 | ANSEL = 0 | ||
| #endif | #endif | ||
| + | </code> | ||
| - | La sección de código de arriba ha sido copiada directamente de a-d.h. Es usado para no permitir la funcion A/D en pines, de manera que puedan ser usados en forma de puertos de entrada y salida digital. Si ANSEL no es declarada como un sistema de variables para un chip en particular, entonces el programa usa ADCON1 para controlar los modos de puerto. If ANSEL es definido, entonces el chip es nuevo y sus puertos pueden ser fijados a digital llevando ANSEL a cero. | + | La section de code au dessus a été copiée directement de a-d.h. Il est utilisé pour ne pas permettre la fonction A/D sur les broches, de façon qu'on puisse les utilisés comme ports d'entrée ou de sortie digitale. Si ANSEL n'est pas déclaré comme un système de variables pour une puce en particulier, alors le programme utilise ADCON1 pour contrôler les modes des ports. Si ANSEL est défini, alors la puce est nouvelle et ses ports peuvent être fixés en digital en mettant ANSEL à zéro. |
| - | Permitiendo código si un sistema de bits es definido | + | Permettre le code si un système de bits est défini |
| - | Similar a arriba, excepto con Bit and NoBit en el lugar de Var y NoVar respectivamente. | + | Similaire à au dessus, excepté avec Bit et NoBit au lieu de Var et NoVar respectivement. |
| Voir aussi : | Voir aussi : | ||
| - | Defines | + | [[gcbasic:syntaxe:definitions]] |
| - | [[#define]] | + | [[define|#define]] |
| [[.|retour ]] | [[.|retour ]] | ||