IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

1er PROG sur PIC18F2520


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 151
    Par défaut 1er PROG sur PIC18F2520
    Bonjour à tous le monde,
    je suis nouveau et je vous remercie de prendre un peu de votre temps pour ce post. Je ferai court donc.
    En essayant de déboguer avec C18 dans l'environnement MPLAB IDE de Microchip ce message me sort
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:37:Error: syntax error
    J'espère ne pas m'être trompé bètement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    /*Bibliothèques*/
    #include<p18f2520.h>
    #include<stdio.h>
     
    /*Equivalences*/
    #define LED1 PORTB<0>
    #define LED2 PORTB<1>
    #define LED3 PORTB<2>
    #define LED4 PORTB<3>
    #define BOUTON PORTA<4>
     
    /*Prototypes de fonctions*/
    void tempo();
    void initialisation();
     
     
    void initialisation()
    {
    	TRISA=1;			//PORTA configuré en entrée
    	TRISB=0;			//PORTB configuré en sortie
    	PORTB=0; 			//initialise l'etat des LEDs
    	return;				//fin de fonction
    }
     
    void tempo()
    {
    	unsigned short i,j;			//déclaration de la variable
    	for (i=0;i<5;i++)
    		for (j=0;j<45500;j++); 	//tempo
    	return;						//fin de fonction
    }
     
    int main(void)
    {
    	int count=0;
    	initialisation();
    	if(BOUTON=1)	//attendre l'appui du bouton
    		for(count=0;count<5;count++)			//boucle de 5 tours
    			{
    				LED1=1;			//allumer LED1
    				tempo();		//lancer la tempo
    				LED1=0;			//eteindre LED1
    				LED2=1;			//allumer LED2
    				tempo();		//lancer la tempo
     
    				LED2=0;			//eteindre LED2
    				LED3=1;			//allumer LED3
    				tempo();		//lancer la tempo
    				LED3=0;			//eteindre LED3
    				LED4=1;			//allumer LED4
    				tempo();		//lancer la tempo
    				LED4=0;			//eteindre LED4
    				tempo();		//lancer la tempo
     
    			}
    	return 0;
    }
    Je vous remercie d'avance pour vos réponses.

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    PORTA<4> n'est pas une syntaxe C. Que cherches-tu à faire exactement avec ça ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    en plus tu fais une assignation au lieu de faire une comparaison...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	if(BOUTON=1)	//attendre l'appui du bouton
    Fait que tu mets la valeur 1 dans BOUTON..

    Si tu veux vraiment faire une comparaison, en C c'est == :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	if(BOUTON == 1)	//attendre l'appui du bouton

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 151
    Par défaut
    Merci de répondre.Je désactive les MP.
    Erreur stupide sur le test coditionnel.
    Le message d'erreur apparait toujours.
    Sur le port numéro 4 de PORTA "PORTA<4>" est branché un bouton poussoir sur ma carte de développement PICDEM2 plus. J'essaie de détecter l'appui de ce bouton poussoir "bouton==1" pour démarrer le clignotement des LEDs.
    Comment puis-je détecter l'appui de ce bouton sachant que ce bouton est branché sur le portA du microcontroleur à l'adresse RA3?

  5. #5
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par bibilolo2
    Merci de répondre.Je désactive les MP.
    Erreur stupide sur le test coditionnel.
    Le message d'erreur apparait toujours.
    Sur le port numéro 4 de PORTA "PORTA<4>" est branché un bouton poussoir sur ma carte de développement PICDEM2 plus. J'essaie de détecter l'appui de ce bouton poussoir "bouton==1" pour démarrer le clignotement des LEDs.
    Comment puis-je détecter l'appui de ce bouton sachant que ce bouton est branché sur le portA du microcontroleur à l'adresse RA3?
    Tu peux directement utiliser la syntaxe
    RA1, RA2, RA3...

    Tout est défini dans les include de MPLab (si tu utilises MPLab bien evidemment)

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 151
    Par défaut
    Je suis bien avec MPLAB IDE v7.20
    J'ai essayé mais il me met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:33:Error [1157] function 'main' should be declared as 'void main (void)'
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:36:Warning [2058] call of function without prototype
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:37:Error [1105] symbol 'RA4' has not been defined
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:40:Error [1105] symbol 'RB0' has not been defined
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:40:Error [1101] lvalue required
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:41:Warning [2058] call of function without prototype
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:42:Error [1105] symbol 'RB0' has not been defined
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:42:Error [1101] lvalue required
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:43:Error [1105] symbol 'RB1' has not been defined
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:43:Error [1101] lvalue required
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:44:Warning [2058] call of function without prototype
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:46:Error [1105] symbol 'RB1' has not been defined
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:46:Error [1101] lvalue required
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:47:Error [1105] symbol 'RB2' has not been defined
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:47:Error [1101] lvalue required
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:48:Warning [2058] call of function without prototype
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:49:Error [1105] symbol 'RB2' has not been defined
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:49:Error [1101] lvalue required
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:50:Error [1105] symbol 'RB3' has not been defined
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:50:Error [1101] lvalue required
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:51:Warning [2058] call of function without prototype
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:52:Error [1105] symbol 'RB3' has not been defined
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:52:Error [1101] lvalue required
    C:\Documents and Settings\Willy\Mes documents\Programmation\Microchip\pic18f2520.c:53:Warning [2058] call of function without prototype
    Halting build on first failure as requested.
    Quand je modifie les équivalences, comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #define LED1 RB0
    #define LED2 RB1
    #define LED3 RB2
    #define LED4 RB3
    #define BOUTON RA4
    Je peux rajouter les bibliothèques si vous le voulez.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. 1er pas sur BIRT
    Par mouss4rs dans le forum BIRT
    Réponses: 2
    Dernier message: 01/06/2008, 20h24
  2. Toujours mon 1er prog. Infos complémentaires
    Par Jiyuu dans le forum Tkinter
    Réponses: 2
    Dernier message: 15/02/2008, 08h42
  3. prog sur hyperlien
    Par nawake dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/11/2007, 01h36
  4. Execution d'1 prog sur le serveur ?
    Par mosquitout dans le forum Serveurs (Apache, IIS,...)
    Réponses: 6
    Dernier message: 03/12/2006, 01h45
  5. Err $251E avec le BDE... pour un prog sur une becane...
    Par Harry dans le forum Bases de données
    Réponses: 14
    Dernier message: 11/04/2006, 17h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo