Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur le langage C !

Modérateur : Jérémy

Remplacer plusieurs lignes de code dans le corps du programme
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#1 Message par Jérémy » lun. 4 sept. 2017 22:22

Bonsoir à tous,

Je travaille sous mikroC.

Savez vous si il existe un moyen d’automatiser le remplacent de plusieurs ligne de code dans le corps du message ?
Je m'explique .

Dans mon programme je dois changer les valeurs de mon timer correspondant à une position de mes servo-moteurs.

Par exemple pour le timer 1 .

j'ai quelques chose dans ce genre pour la position repos:

Code : Tout sélectionner

  T1CON           0x21;

  
TMR1H           0x3C;
  
TMR1L           0xB0


Et autre chose pour la positions active du genre :

Code : Tout sélectionner

  T1CON           0x35;

  
TMR1H           0xA0;
  
TMR1L           0x18


J'aurais souhaité mettre ces lignes en début de code, un peu à la manière d'un#define quand on souhaite changer une fois une valeur pour tout le reste du programme .

Je sais pas si j'ai été trés clair ! oops
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Remplacer plusieurs lignes de code dans le corps du programme
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2597
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#2 Message par paulfjujo » mar. 5 sept. 2017 12:13

Bonjour Jeremy et à Tous


ben oui ... why not !
il suffit d'ecrire le code sur la meme ligne que le #define
ou alors faire une macro ..mais boof

Code : Tout sélectionner

// declarations
#define TEMPO1  T1CON= 0x321; TMR1H= 0x3C;TMR1L= 0xB0;
#define TEMPO2  T1CON = 0x35; TMR1H= 0xA0;TMR1L = 0x18;
 


puis dans le main program..

Code : Tout sélectionner


 ICI
:
  
TEMPO1
  _asm nop
  LA
:
  
TEMPO2
  _asm nop


verification :

Code : Tout sélectionner

;_18F26K22_Irrigation_Control_1708904.c,712 ::                 TEMPO1
0x26F0        0x0E21              MOVLW       33
0x26F2        0x6ECD              MOVWF       T1CON 
0x26F4        0x0E3C              MOVLW       60
0x26F6        0x6ECF              MOVWF       TMR1H 
0x26F8        0x0EB0              MOVLW       176
0x26FA        0x6ECE              MOVWF       TMR1L 
;_18F26K22_Irrigation_Control_1708904.c,713 ::                 _asm nop
0x26FC        0x0000              NOP
;_18F26K22_Irrigation_Control_1708904.c,715 ::                 TEMPO2
0x26FE        0x0E35              MOVLW       53
0x2700        0x6ECD              MOVWF       T1CON 
0x2702        0x0EA0              MOVLW       160
0x2704        0x6ECF              MOVWF       TMR1H 
0x2706        0x0E18              MOVLW       24
0x2708        0x6ECE              MOVWF       TMR1L 
;_18F26K22_Irrigation_Control_1708904.c,716 ::                 _asm nop
0x270A        0x0000              NOP
Aide toi, le ciel ou FantasPic t'aidera

Remplacer plusieurs lignes de code dans le corps du programme
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#3 Message par Jérémy » mar. 5 sept. 2017 22:08

Re,

paulfjujo a écrit :Source du message il suffit d'ecrire le code sur la meme ligne que le #define

Ah ok, génial ca .

Je croyais que le #define était seulement pour une instruction ! :oops:

Merci beaucoup Paul!
C'est en faisant des erreurs, que l'on apprend le mieux !!!


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 45 invités