Configurer les registres d'un PIC18F en C - C - Programmation
Marsh Posté le 28-09-2013 à 21:10:08
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 !
Marsh Posté le 29-09-2013 à 12:34:13
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
Marsh Posté le 29-09-2013 à 12:47:23
!
Voici ce qu'ont donné mes recherches :
Code :
|
À voir si en modifiant l'en-tête ça fonctionne mieux...
Marsh Posté le 30-09-2013 à 16:45:14
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
Marsh Posté le 07-10-2013 à 17:37:03
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.
Marsh Posté le 28-09-2013 à 18:33:05
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