Compilation Language C en Language Hex pour PIC16F877
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Compilation Language C en Language Hex pour PIC16F877



  1. #1
    invitecc13ad94

    Compilation Language C en Language Hex pour PIC16F877


    ------

    Bonjour,
    voila je suis sur un projet d'un petit chenillard type K2000 et j'ai un programme en C dont le voila :







    #include <system.h>

    //Cible PIC16F877, bits de configuration
    #pragma DATA _CONFIG, _PWRTE_OFF & _BODEN_OFF & _WDT_OFF & _LVP_OFF & _CPD_OFF & _DEBUG_OFF & _HS_OSC & _CP_OFF

    //Configuration de la fréquence d'horloge, ici 4Mhz
    #pragma CLOCK_FREQ 4000000

    void main( void )
    {
    //Initialisation port A
    porta = 0x00;
    //Initialisation port B
    portb = 0x00;
    //Initialisation port C
    portc = 0x00;
    //Initialisation port D
    portd = 0x00;
    //Initialisation port E
    porte = 0x00;
    //Configuration port A
    trisa = 0x00;
    //Configuration port B
    trisb = 0x00;
    //Configuration port C
    trisc = 0x00;
    //Configuration port D
    trisd = 0x00;
    //Configuration port E
    trise = 0x00;
    //Configuration A/D pins
    adcon1 = 0x06;
    //désactivation du mécanisme de gestion des interruptions
    clear_bit( intcon, GIE );
    //Validation des résistances de pull-ups du port B
    clear_bit( option_reg, NOT_RBPU );
    //Boucle sans fin
    while( 1 )
    {
    portd = 0b00000001;
    delay_ms(100);
    portd = 0b00000011;
    delay_ms(10);
    portd = 0b00000010;
    delay_ms(100);
    portd = 0b00000110;
    delay_ms(10);
    portd = 0b00000100;
    delay_ms(100);
    portd = 0b00001100;
    delay_ms(10);
    portd = 0b00001000;
    delay_ms(100);
    portd = 0b00011000;
    delay_ms(10);
    portd = 0b00010000;
    delay_ms(100);
    portd = 0b00110000;
    delay_ms(10);
    portd = 0b00100000;
    delay_ms(100);
    portd = 0b01100000;
    delay_ms(10);
    portd = 0b01000000;
    delay_ms(100);
    portd = 0b11000000;
    delay_ms(10);
    portd = 0b10000000;
    delay_ms(100);
    portd = 0b11000000;
    delay_ms(10);
    portd = 0b01000000;
    delay_ms(100);
    portd = 0b01100000;
    delay_ms(10);
    portd = 0b00100000;
    delay_ms(100);
    portd = 0b00110000;
    delay_ms(10);
    portd = 0b00010000;
    delay_ms(100);
    portd = 0b00011000;
    delay_ms(10);
    portd = 0b00001000;
    delay_ms(100);
    portd = 0b00001100;
    delay_ms(10);
    portd = 0b00000100;
    delay_ms(100);
    portd = 0b00000110;
    delay_ms(10);
    portd = 0b00000010;
    delay_ms(100);
    portd = 0b00000011;
    delay_ms(10);
    }
    }





    et je souhaite le compiler à l'aide de MPLAB mais il me marque toujours qu'il y'a une erreur suite au fichier system.h, pourrai-je avoir des informations sur ce problème et m'aider à le résoudre. Je souhaite pouvoir le compiler en hex pour pouvoir le programmer grâce à ICPROG.

    Merci d'avance de votre aide.
    Cordialement, bibi_6919.

    -----

  2. #2
    inviteaca451ba

    Re : Compilation Language C en Language Hex pour PIC16F877

    Il faut nous donner le message d'erreur exact.
    Sans connaissance préalable du C de ton côté ça risque d'être un petit peu difficile ...

  3. #3
    Seb.26

    Re : Compilation Language C en Language Hex pour PIC16F877

    il y a quoi dans system.h ?
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  4. #4
    invitecc13ad94

    Re : Compilation Language C en Language Hex pour PIC16F877

    Bonjour,
    alors c'est vrai que je débute en C mais j'ai des notions en Pascal, Hexa, Assembleur, ... et le message j'obtient sa :




    Build C:\Documents and Settings\PC-HOME\Bureau\Nouveau dossier\PIC16F877 for device 16F877
    Using driver C:\Program Files\HI-TECH Software\PICC\LITE\9.60\bin\pi cl.exe

    Executing: "C:\Program Files\HI-TECH Software\PICC\LITE\9.60\bin\pi cl.exe" -C H:\Projet\k2000\k2000.c --chip=16F877 -P -q -g --asmlist "--errformat=Error [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s"
    Error [141] H:\Projet\k2000\k2000.c; 1.19 ne peut pas ouvrir le fichier include "system.h": No such file or directory

    ********** Build failed! **************




    et le system.h j'en est pas.
    Merci.
    Cordialement, Bibi_6919.

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

    Re : Compilation Language C en Language Hex pour PIC16F877

    Oui donc c'est normal que le compilo se plaigne, si t'as pas de fichier system.h.

    C'est dans ce fichier que tu auras les définitions de porta, portb, clear_bit, ...
    Deux possibilités:
    - soit c'est un fichier qui vient de l'environnement: ici MPLAB. Cherche bien sur tout le disque si t'as pas le fichier system.h
    - soit c'est un fichier créé par celui qui a écrit le programme: renseigne toi auprès de la personne, regarde sur le site, d'où tu as récupéré ton programme.
    - soit c'est un fichier qui vient de l'environnement de celui qui a écrit le programme: dans ce cas, cette personne n'utilise pas MPLAB. Tu dois déterminer quel compilo a été utilisé par il ou elle.
    - soit enfin tu réécris les définitions porta, portb, etc en te basant sur la datasheet.

  7. #6
    invitecc13ad94

    Re : Compilation Language C en Language Hex pour PIC16F877

    ok d'accord je voit mieux, la j'ai un fichier de MPLAB,

    si je change ceci :

    #ifndef _SYSTEM_HEADER_FILE
    #define _SYSTEM_HEADER_FILE

    #include <p32xxxx.h>
    #include <peripheral/int.h>
    #include <peripheral/pcache.h>
    #include <peripheral/osc.h>
    #include <peripheral/dma.h>
    #include <peripheral/bmx.h>
    #include <peripheral/lock.h>

    #define FLASH_ACCESS_TIME_HZ 20000000
    #define PB_BUS_ACCESS_TIME_HZ 50000000

    en ceci :

    #ifndef _SYSTEM_HEADER_FILE
    #define _SYSTEM_HEADER_FILE

    #include <16F877.h>

    #define FLASH_ACCESS_TIME_HZ 20000000
    #define PB_BUS_ACCESS_TIME_HZ 50000000

    Est ce que c'est bon ? pour un pic16f877 ?

  8. #7
    inviteaca451ba

    Re : Compilation Language C en Language Hex pour PIC16F877

    Ca sort d'où ce code? T'as finalement trouvé un system.h?

  9. #8
    invitecc13ad94

    Re : Compilation Language C en Language Hex pour PIC16F877

    Oui j'ai trouvé un system.h dans les sources d'MPLAB, mais je voudrais savoir si je peut mettre un #include <16F877.h> au lieu de
    #include <p32xxxx.h>
    #include <peripheral/int.h>
    #include <peripheral/pcache.h>
    #include <peripheral/osc.h>
    #include <peripheral/dma.h>
    #include <peripheral/bmx.h>
    #include <peripheral/lock.h>
    ?

    et ou est ce que je pourrait trouver un fichier 16F877.h ?

  10. #9
    invitecc13ad94

    Re : Compilation Language C en Language Hex pour PIC16F877

    Bonjour,
    désolé de relancer mais pourrai-je avoir des aides s'il vous plaît

Discussions similaires

  1. Aide pour commande en language C.
    Par inviteefccdc5d dans le forum Électronique
    Réponses: 15
    Dernier message: 21/04/2011, 23h31
  2. quel livre pour un débutant en programmation pic language C
    Par invite3a95e38f dans le forum Électronique
    Réponses: 13
    Dernier message: 20/01/2011, 21h32
  3. aide language c pour pic
    Par invite3a95e38f dans le forum Électronique
    Réponses: 14
    Dernier message: 26/09/2010, 11h57
  4. Language DIN/ISO pour CNC
    Par invite2f6a889e dans le forum Technologies
    Réponses: 10
    Dernier message: 18/02/2007, 18h10
  5. Language Pour Mozilla 1.6
    Par invite38685413 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 16/05/2004, 16h59
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...