Programmation 18F4550 en C18
Répondre à la discussion
Affichage des résultats 1 à 20 sur 20

Programmation 18F4550 en C18



  1. #1
    invite24eebdfe

    Exclamation Programmation 18F4550 en C18


    ------

    Bonjour à tous,

    J'expose mon problème. Je commence à programmer en 18F avec le compilateur C18. C'est la toute première fois et j'ai du mal à m'en sortir. Est-ce que quelqu'un pourrait m'aider ? Est-ce que le C18 est semblable au CC5X ? Y a t-il un code source disponible très simple permettant la bonne mise en place des registres (même un code pour faire clignoter une led !) ??

    D'avance merci.

    -----

  2. #2
    jorg1n

    Re : Programmation 18F4550 en C18

    Bonjour,

    voila un petit exemple... par contre, regarde la viesse de ton quartz...la le programme est configuré pour un quartz de type HS...a toi de l'adapter pour le tiens...(voir configuration bits...)
    Code:
    //fichier de declaration des registres internes du microcontroleur
    #include <p18f4550.h>
    #include <delays.h>
    
    
    //Déclaration des PORTXbits.RXX utilisés
    #define RA4 PORTAbits.RA4 
    #define RA3 PORTAbits.RA3
     
    
    //Configuration Bits
    #pragma config OSC = HS			//OSCILLATOR
    #pragma const config FCMENB = OFF	//Fail Safe Clock Monitor Disabled
    #pragma const config IESOB = OFF	//Internal External Osc. Switch Disabled
    #pragma config PWRT = OFF		//Power Up Timer Disabled
    #pragma const config BOR = BOHW 	//Brown Out Reset Enabled in HW, SBOREN disabled
    #pragma const config BORV = 20		//Brown Out Voltage : 2.0V
    #pragma config WDT = OFF		//WATCHDOG HW Disabled - SW Controlled
    #pragma config DEBUG = OFF		//DEBUG Disabled
    #pragma config LVP = OFF		//Low Voltage Programming Disabled
    
    
    //Sous programmes
    void init_uc(void);
    void DELAY_1500ms(void);
    
    
    /***************************************************************************
    *********************Programme Principal************************************
    ***************************************************************************/
    void main (void)
    {
    init_uc();				//Appel SP Initialisation du microcontroleur
    
    
    while(1)
    {
    RA5=1;
    DELAY_1500ms();
    RA4=1;
    DELAY_1500ms();
    RA3=1;
    DELAY_1500ms();
    RA3=0;
    DELAY_1500ms();
    RA4=0;
    DELAY_1500ms();
    RA5=0;
    DELAY_1500ms();
    
    
    
    }//Fin While(1)
    }//Fin Programme Principal
    
    
    /***************************************************************************
    Nom   : void init_uc(void)
    Role  : Configuration et initialisation des Ports E/S
    *****************************************************************************/
    void init_uc(void)
    {
     ADCON1=0x0F;					// Configuration AN0/RA0->AN4/RA5 en analogique--reste en numérique
     TRISA=0x07;					// PORTA en sortie sauf RA0->RA2
     TRISB=0xC7;					// RB0->RB2 & RB6-RB7 en entrée -- reste en sortie
     TRISC=0x00;					// PORTC en sortie
     TRISD=0x00;					// PORTD en sortie
     TRISE=0x00;					// PORTE en sortie
    
     PORTA=0x00;					//
     PORTB=0x00;					///
     PORTC=0x00;					////Initialisation à 0 des Ports
     PORTD=0x00; 					///
     PORTE=0x00;					//
     
    }
    
    /***************************************************************************
    Nom   : void DELAY_1500ms(void)
    Role  : Temporisation de 1,5 secondes
    *****************************************************************************/
    void DELAY_1500ms(void)
    {
    Delay10KTCYx(150);
    }
    Bon courage...

    [EDIT] en ce qui concerne la similitude avec CC5X...???

  3. #3
    RISC

    Re : Programmation 18F4550 en C18

    Salut,

    Oublie le CC5X si tu veux faire de l'USB...
    Le C18 est gratuit et tu peux télécharger la dernière version (3.16 à ce jour) ici : www.microchip.com/C18

    Regarde tous ces liens pour t'aider à démarrer :
    http://forums.futura-sciences.com/post1679307-2.html

    et aussi ces projets avec les fichiers sources côté PIC et côté PC :
    * http://files.codes-sources.com/fichi...5CFormMain.frm

    a+

  4. #4
    invite24eebdfe

    Re : Programmation 18F4550 en C18

    Merci à vous deux. Mais maintenant j'ai un autre gros problème : je n'arrive pas à compiler le programme ! Il me met :
    C:\OVIO18F\essai.c:2:Error [1027] unable to locate 'p18f4550.h'
    C:\OVIO18F\essai.c:3:Error [1027] unable to locate 'delays.h'

    Pourtant, j'ai ajouté les fichiers header en question. Je ne comprends pas ! Aidez-moi svp !

  5. A voir en vidéo sur Futura
  6. #5
    invite24eebdfe

    Re : Programmation 18F4550 en C18

    J'ai réussi à ajouter les header mais j'ai toujours une erreur :
    section '_entry_scn' type is non-overlay and absolute but occurs in more than one input file.

    Que dois-je faire ???

  7. #6
    RISC

    Re : Programmation 18F4550 en C18

    Salut,

    Quelques petites vérifications :
    1/ C18
    Utilises une cersion 3.xx ?
    As-tu laissé le compilateur s'installer dans son répertoire d'origine (C:\MCC18)

    2/ MPLAB
    Peux-tu vérifier que les modules xxxx.exe sont tous bien dans le même répertoire :
    Project > Select Language toolsuite > (4 modules xxx.exe)

    3/ Quel projet compiles-tu ?
    Il semble que tu aies 2 fichiers ou un fichier header inclus dans 2 fichiers qui contiennent cette section
    '_entry_scn', ce qui provoque une erreur car cette section est redéfinie

    a+

  8. #7
    invite24eebdfe

    Re : Programmation 18F4550 en C18

    1/ oui
    2/ oui
    3/ J'ai un seul source file et j'ai inclus les header p18f4550.h et delays.h

    et ça ne marche pas...
    Voila ce qu'il me donne en Output :

    Executing: "C:\MCC18\bin\mcc18.exe" -p=18F4550 /i"C:\MCC18\h" -I"C:\RS232" "essai.c" -fo="essai.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
    MPLAB C18 v3.16 (demo)
    Copyright 1999-2005 Microchip Technology Inc.
    Days remaining until demo becomes feature limited: 59
    Executing: "C:\MCC18\bin\mplink.exe" /l"C:\MCC18\lib" "C:\MCC18\lkr\18f4550.lkr" "C:\OVIOusb\essai.o" "C:\MCC18\lib\c018i.o" /m"OVIO18F.map" /w /o"OVIO18F.cof"
    MPLINK 4.16, Linker
    Copyright (c) 2008 Microchip Technology Inc.
    Error - section '_entry_scn' type is non-overlay and absolute but occurs in more than one input file.
    Errors : 1

    Link step failed.
    BUILD FAILED: Mon Apr 28 14:54:24 2008

  9. #8
    invite89f152fc

    Re : Programmation 18F4550 en C18

    ouvre ton projet avec mplab
    va dans projet -> build option -> PROJET

    va dans l'onglet directories et dit nous ce que tu as pour output directory .. library...

  10. #9
    invite24eebdfe

    Re : Programmation 18F4550 en C18

    ok coulox. voila :
    - dans Output Directory : rien
    - dans Intermediary Directory : rien
    - dans Include Search Path : C:\MCC18\h
    - dans Library Search Path : C:\MCC18\lib
    - dans Linker-Script Search Path : rien

  11. #10
    invite89f152fc

    Re : Programmation 18F4550 en C18

    exemple pour mon projet
    dans Output Directory : C:\PIC18F4550\_output
    dans Intermediary Directory : C:\PIC18F4550\_output
    dans Linker-Script Search Path : C:\PIC18F4550

    - dans Include Search Path : C:\MCC18\h
    - dans Library Search Path : C:\MCC18\lib

    j ai eu un souci come toi a tu insalté c18 avant mplab? si c le cas tu doit rinstalé c18 et le metre dans le dossier de microchip.
    moi j ai ca
    dans Include Search Path :C:\Program Files\Microchip\mcc18\h
    dans Library Search Path : C:\Program Files\Microchip\mcc18\lib

  12. #11
    invite24eebdfe

    Re : Programmation 18F4550 en C18

    J'ai réinstallé MCC18 : aucun changement !

  13. #12
    invite89f152fc

    Re : Programmation 18F4550 en C18

    tu as mit quoi dans : dans Output Directory ?

    mcc18 tu la instaler ou exactement ?

  14. #13
    invite89f152fc

    Re : Programmation 18F4550 en C18

    as tu acheter la carte picdemfs usb
    si oui
    ce site te sera utile : http://www.microchip.com/stellent/id...&part=DM163025

  15. #14
    invite24eebdfe

    Re : Programmation 18F4550 en C18

    Dans Output directory j'ai mis mon répertoire courant C:\PIC18.
    Et j'ai installé MCC18 dans C:\Program Files\Microchip\

  16. #15
    jorg1n

    Re : Programmation 18F4550 en C18

    Il ne faut pas que MCC18 soit installé sous C:\MCC18???
    j'attends confirmation...mais je crois.

  17. #16
    invite89f152fc

    Re : Programmation 18F4550 en C18

    heu moi perso au débu je l avais mit dans la racine C mais j avais des erreur et depui ke je lé mit dans microchip plus de problème donc voila je lui proposé d essayer ...

  18. #17
    invite24eebdfe

    Re : Programmation 18F4550 en C18

    J'ai repris un workspace Microchip et j'ai remplacé le code par le mien et ça marche. Je vous remercie !

    Tant que j'y suis, j'aimerais pouvoir lire et écrire sur une clé usb sans me soucier de la FAT. Il s'agit d'une clef USB formattée bas niveau. Comment fait-on ???

  19. #18
    RISC

    Re : Programmation 18F4550 en C18

    Narf,

    Attention...si tu veux lire/ecrire une cle USB externe tu ne peux pas utiliser un PIC18 USB car il ne gerent que le mode DEVICE.
    Il faut utiliser un PIC24 USB ou PIC32 USB qui gère le mode On The Go (OTG) ce qui leur permet d'être mini-Host.

    Tu trouveras toutes les infos ici : www.microchip.com/USB

    Note : si tu gères une carte SD externe tu pourrais utiliser un PIC18.
    La note d'application carte SD + FAT16 est ici : http://www.microchip.com/stellent/id...pnote=en532040

    a+

  20. #19
    invite24eebdfe

    Re : Programmation 18F4550 en C18

    Pourtant, l'application AN1003 est intitulé :
    USB Mass Storage Device Using a PIC MCU !

    http://www.microchip.com/stellent/id...cName=en010300

  21. #20
    RISC

    Re : Programmation 18F4550 en C18

    Salut,

    Citation Envoyé par narf Voir le message
    Pourtant, l'application AN1003 est intitulé :
    USB Mass Storage Device Using a PIC MCU !
    http://www.microchip.com/stellent/id...cName=en010300

    C'est exact..mais si tu lis cette note d'application :http://www.microchip.com/Stellent/id...pnote=en024394

    tu verras qu'ils expliquent que le PIC18 est en mode DEVICE (principe du lecteur de cartes pour PC) et lit/écrit une carte SD externe ....pas une clé USB.

    L'USB est utilisé ici comme communication entre un PC et le PIC18 ;=)

    a+

Discussions similaires

  1. Pwm Pic 18f4550
    Par invitef0cf02f0 dans le forum Électronique
    Réponses: 3
    Dernier message: 09/03/2009, 13h57
  2. Pic 18f4550
    Par inviteb6ec96f1 dans le forum Électronique
    Réponses: 0
    Dernier message: 07/04/2008, 20h48
  3. [Programmation]Différence Compilateur C C18/IAR PIC18
    Par jorg1n dans le forum Électronique
    Réponses: 3
    Dernier message: 01/04/2008, 08h38
  4. PIC 18F4550 la galère...
    Par jt06 dans le forum Électronique
    Réponses: 9
    Dernier message: 21/10/2007, 21h42
  5. Pic 18f4550
    Par Gérard dans le forum Électronique
    Réponses: 8
    Dernier message: 06/06/2006, 23h42
Découvrez nos comparatifs produits sur l'informatique et les technologies.