MPLAB C18 pic 18F4550
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

MPLAB C18 pic 18F4550



  1. #1
    invited5e93be9

    MPLAB C18 pic 18F4550


    ------

    bonjour
    je vien de programmer pic 18f4550 avec MPLAb C18 pour faire la conversion A/N
    j'ai eu une erreur :

    MPLINK 4.01, Linker
    Copyright (c) 2005 Microchip Technology Inc.
    Error - could not find definition of symbol 'ep1Bi' in file 'C:\Documents and Settings\oussama\Bureau\gogogo \intermediate\projet3.o'.
    Errors : 1

    -----
    Dernière modification par yoda1234 ; 04/04/2009 à 18h26.

  2. #2
    invited5e93be9

    Re : MPLAB C18 pic 18F4550

    quel est la solution ???

  3. #3
    yoda1234

    Re : MPLAB C18 pic 18F4550

    J'ai refusé ta pièce jointe, je ne vois ce qu'elle apportait.
    Là où l'ignorance est un bienfait, c'est de la folie d'être sage (Thomas Gray).

  4. #4
    invite03481543

    Re : MPLAB C18 pic 18F4550

    Bonsoir,

    faut dire sans voir le code, on ne va pas aller bien loin.

    Visiblement il manque une définition de 'ep1Bi' dans le fichier objet.

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

    Re : MPLAB C18 pic 18F4550

    merci pour la réponce
    mais comment je fait pour l'ajouter !!?

  7. #6
    invite03481543

    Re : MPLAB C18 pic 18F4550

    Faites voir votre code, on ne fait pas dans la devination ici.

  8. #7
    invited5e93be9

    Re : MPLAB C18 pic 18F4550

    /** I N C L U D E S ****************************** ****************************/
    #include <p18f4550.h>
    #include "typedefs.h"
    #include "usb.h"
    #include "io_cfg.h"
    #include "usbdrv.h"
    #include "timers.h"
    #include "adc.h"


    #if defined(PIC18F4550_PICDEM_FS_U SB) // Configuration bits for PICDEM FS USB Demo Board
    #pragma config PLLDIV = 5 // (20 MHz crystal on PICDEM FS USB board)
    #pragma config CPUDIV = OSC1_PLL2
    #pragma config USBDIV = 2 // Clock source from 96MHz PLL/2
    #pragma config FOSC = HSPLL_HS
    #pragma config FCMEN = OFF
    #pragma config IESO = OFF
    #pragma config PWRT = OFF
    #pragma config BOR = ON
    #pragma config BORV = 2
    #pragma config VREGEN = ON //USB Voltage Regulator
    #pragma config WDT = OFF
    #pragma config WDTPS = 32768
    #pragma config MCLRE = ON
    #pragma config LPT1OSC = OFF
    #pragma config PBADEN = OFF //NOTE: modifying this value here won't have an effect

    //#pragma config CCP2MX = ON
    #pragma config STVREN = ON
    #pragma config LVP = OFF
    //#pragma config ICPRT = OFF
    #pragma config XINST = OFF
    #pragma config CP0 = OFF
    #pragma config CP1 = OFF
    //#pragma config CP2 = OFF
    //#pragma config CP3 = OFF
    #pragma config CPB = OFF
    //#pragma config CPD = OFF
    #pragma config WRT0 = OFF
    #pragma config WRT1 = OFF
    //#pragma config WRT2 = OFF
    //#pragma config WRT3 = OFF
    #pragma config WRTB = OFF
    #pragma config WRTC = OFF
    #pragma config WRTD = OFF
    #pragma config EBTR0 = OFF
    #pragma config EBTR1 = OFF
    #pragma config EBTR2 = OFF
    #pragma config EBTR3 = OFF
    #pragma config EBTRB = OFF

    else
    #error Not a supported board (yet), make sure the proper board is selected in usbcfg.h, and if so, set configuration bits in __FILE__, line __LINE__
    #endif
    /** V A R I A B L E S ****************************** **************************/
    #pragma udata

    char *conv_char_chaine (char val);
    void init_timer0(void);
    void interrupt_prog(void);
    void interrupt_prog_conv(void);
    void init_conv(void);
    void sel_voix0(void);
    /** V E C T O R R E M A P P I N G ****************************** *************/

    /** D E C L A R A T I O N S ****************************** ********************/
    static volatile float input;
    static volatile char res[10], asc[3];
    static volatile int i;


    void main(void)
    {
    init_timer0();
    init_conv();

    ADRESH=0x00 ;
    res[0]= 0x00;

    while (1)
    {
    sel_voix0();

    asc[i]=*conv_char_chaine( res[i]);

    /*---------------------------| Envoie des données sur le bus |----------------------------------*/

    if(!mHIDTxIsBusy())
    {
    HIDTxReport(asc,0);
    }

    }

    }

    /*----------------------------------------------------------------------------------------------*/
    char *conv_char_chaine(char val)
    {
    unsigned char uni, diz,cent,z;
    char chaine[3];
    if(val>=99)cent=val/100;
    if(val<=99)cent=0;
    z=val-cent;
    if(z>=9)diz=z/10;
    if(z<=9)diz=0;
    diz= val-(cent*100);
    uni= val-(cent*100)-(diz*10);
    chaine[0]=cent|0x30;
    chaine[1]=diz|0x30;
    chaine[2]=uni|0x30;

    return(chaine);
    }

    void init_timer0()
    {
    T0CONbits.TMR0ON=1;
    T0CONbits.PSA =0;
    T0CONbits.T0CS=0;
    T0CONbits.T0PS0=1;
    T0CONbits.T0PS1 =1;
    T0CONbits.T0PS2=1;
    INTCONbits.RBIF =0;
    INTCONbits.T0IE =1;
    INTCONbits.GIE =1;

    }
    /*----------------------------------------------------------------------------------------------*/
    void interrupt_prog(void)
    {

    if (INTCONbits.TMR0IE )
    {
    ADCON0bits.GO_DONE=1;
    INTCONbits.TMR0IF = 0;
    T0CONbits.TMR0ON= 0; // RAZ du timer pour qu'il recommence à compter jusque 65536

    }

    }
    /*----------------------------------------------------------------------------------------------*/
    void interrupt_prog_conv(void)
    {
    if (PIE1bits.ADIE==1)
    {
    ADCON0bits.GO_DONE=0;
    res[i]=ADRESH;
    }
    }
    /*----------------------------------------------------------------------------------------------*/
    void init_conv(void)
    {
    ADCON0bits.ADON = 1 ;

    ADCON1bits.PCFG0 = 0 ;
    ADCON1bits.PCFG1 = 1 ;
    ADCON1bits.PCFG2 = 0 ;
    ADCON1bits.PCFG3 = 0 ;

    ADCON1bits.VCFG0 = 0 ;
    ADCON1bits.VCFG1 = 0 ;


    ADCON2bits.ADCS0 = 1 ;
    ADCON2bits.ADCS1 = 0 ;
    ADCON2bits.ADCS2 = 1 ;

    ADCON2bits.ACQT0 = 0 ;
    ADCON2bits.ACQT1 = 0 ;
    ADCON2bits.ACQT2 = 0 ;

    ADCON2bits.ADFM = 0 ;

    }
    /*----------------------------------------------------------------------------------------------*/
    void sel_voix0(void)
    {
    ADCON0bits.CHS0 = 0 ;
    ADCON0bits.CHS1 = 0 ;
    ADCON0bits.CHS2 = 0 ;
    ADCON0bits.CHS3 = 0 ;
    }


    l'erreur est :
    Executing: "C:\MCC18\bin\mplink.exe" /l"C:\MCC18\lib" /k"C:\Program Files\Microchip\MPASM Suite\LKR" "C:\Program Files\Microchip\MPASM Suite\LKR\18F4550.lkr" "C:\Documents and Settings\oussama\Bureau\gogogo \intermediate\projet3.o" "C:\Documents and Settings\oussama\Bureau\gogogo \intermediate\hid.o" /w /o"pfemic.cof"
    MPLINK 4.01, Linker
    Copyright (c) 2005 Microchip Technology Inc.
    Error - could not find definition of symbol 'ADRESH' in file 'C:\Documents and Settings\oussama\Bureau\gogogo \intermediate\projet3.o'.
    Errors : 1

    BUILD FAILED: Sun Apr 05 21:10:20 2009

  9. #8
    invited5e93be9

    Re : MPLAB C18 pic 18F4550

    c code est pour faire la conversion A/N et envoie les donneé (usb)
    NB: programation MPLAB C18 v3.0

Discussions similaires

  1. Mplab c18
    Par UNTOUCHABLE dans le forum Électronique
    Réponses: 13
    Dernier message: 25/11/2009, 17h12
  2. Problème compilation MPLAB C18
    Par VIIV dans le forum Électronique
    Réponses: 12
    Dernier message: 24/09/2008, 23h00
  3. MPLAB 7.41 et C18
    Par invitec1317d72 dans le forum Électronique
    Réponses: 11
    Dernier message: 06/05/2008, 13h15
  4. Programmation 18F4550 en C18
    Par invite24eebdfe dans le forum Électronique
    Réponses: 19
    Dernier message: 29/04/2008, 18h09
  5. Prob de compilation Mplab et C18
    Par wave68runner dans le forum Électronique
    Réponses: 28
    Dernier message: 04/02/2008, 20h39
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...