Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2496 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Configurer les registres d'un PIC18F en C

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Configurer les registres d'un PIC18F en C

n°2204509
mandrin7
Posté le 28-09-2013 à 18:33:05  profilanswer
 

Bonjour à tous,
Depuis quelque temps je me suis mis à essayer de programmer un PIC 18F452 en langage C.
Après pas mal de correction je "tombe" sur un problème certainement très simple à résoudre
mais je ne trouve pas la solution pour initialiser le registre INTCON en C
avec l'instruction suivante :
INTCON = 0b00101000;
ou
INTCON = 0x28;
ou encore
INTCON,7,0;
INTCON,6,0;
etc..
 
J’obtiens la réponse suivante "Error: syntax error"
Je ne vois pas ce qui n'est pas conforme au C ou au compilateur.
Je ne trouve pas d'exemple de syntaxe concernant ces registres ou similaires.
 
Configuration:
MPLAB IDE v8.89
 
Avec le Pack MCC18 ci dessous
MPASM v3.36
MPLINK v4.47
MCC18 v3.36
Librarian v4.37
 
Pouvez-vous m'indiquer mon erreur.
Merci d'avance, cordialement


Message édité par mandrin7 le 29-09-2013 à 18:53:52
mood
Publicité
Posté le 28-09-2013 à 18:33:05  profilanswer
 

n°2204525
Farian
Posté le 28-09-2013 à 21:10:08  profilanswer
 

Bonjour !
 
Dans un fichier .h, il doit y avoir un #define INTCON quelquechose
 
Une fois INTCON remplacé dans votre code, cela doit donner une erreur de syntaxe.
 
Selon moi, vous n'utilisez pas correctement ce INTCON ...
 
Ou alors c'est vous qui le déclarez, mais dans ce cas-là, indiquez comment vous faites cette déclaration
 
Bonne continuation !

n°2204556
mandrin7
Posté le 29-09-2013 à 12:34:13  profilanswer
 

Complément à la réponse précédente :
dans le même registre sous INTCON2 je trouve les bits que je devrait trouver dans ce fichier (INTCON).
On dirait que Microchip a changer encore les bits car dans la notice de la puce en ma possession la configuration n'est pas la même.
pour la déclaration de ce registre (INTCON), je n'en ai pas faite.
pouvez vous m'indiquer la structure de cette déclaration.
Je devrai en faire pour plusieurs registres


Message édité par mandrin7 le 29-09-2013 à 12:37:30
n°2204558
Soileh
Lurkeur professionnel
Posté le 29-09-2013 à 12:47:23  profilanswer
 

:hello: !
 
Voici ce qu'ont donné mes recherches :

  • Déjà, INTCON n'est pas un fichier mais un registre [:cupra]
  • Ensuite, est-ce que tu as inclus le bon fichier d'en-tête ? :??: J'ai trouvé sur Google un fichier p18F452.h qui lui contient bien la définition du registre :
Code :
  1. extern volatile near unsigned char       INTCON;


 
À voir si en modifiant l'en-tête ça fonctionne mieux...
:jap:


---------------
And in the end, the love you take is equal to the love you make
n°2204710
mandrin7
Posté le 30-09-2013 à 16:45:14  profilanswer
 

bonjour,
Ce fichier "P18F452.H" est bien inclus en header avec
extern volatile near unsigned char       INTCON;
mais impossible de configurer ce registre.
un petit exemple
INTCONbits,5,1;
INTCON,4,0;
INTCONbits.RBIE=1;
aucune méthode ne fonctionne.
je suis a court d'idée
Si quelqun en a une merci
cordialement

n°2205776
panac
Posté le 07-10-2013 à 17:37:03  profilanswer
 

Bonjour ,
INTCON est un registre des PICs
Donc si tu inclue le fichier <HTC.h>
Tu devrais voir apparaitre le registre INTCON dedans.

 

Sinon soit du déclare
INTCON = 0x00; // par exemple
Ou
INTCONbits.GIE = 0x00;
Ou
GIE = 0x00;

 

Et normalement cela devrait marcher. Après je te conseille plutôt de commencer sur un PIC16F qui sont plus simple.

 

n°2205777
panac
Posté le 07-10-2013 à 17:38:55  profilanswer
 

Dsl ,
C'est
GIE = 0;
Car c'est un booléen et pas un octet


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Configurer les registres d'un PIC18F en C

 

Sujets relatifs
Resoudre une equation du second degre en C (suite)Besoin d'idée coulée faire le code source en C + +
[C++] PX, Un toolkit X11 sous LinuxImport de la fonction C Math modf et utilisation.
C# ADO.NET DataSet et DataTable[C/C++] Cherche fun en prog à plusieurs (social coding)
[C] Bout de code fonctionne avec gdb mais pas en vrai [Résolu]Exercice en C
programmation C [aide]Probléme avec les socket en C
Plus de sujets relatifs à : Configurer les registres d'un PIC18F en C


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR