probleme MPLAB
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

probleme MPLAB



  1. #1
    invitec6f63aec

    probleme MPLAB


    ------

    Bonjour,

    j'ai un probleme avec MPLAB a chaque fois que je veux compiller un fichier .asm alors qu'il n'y a pas d'erreur dans le code juste des warnings normaux de banque (je fais les tutoriaux fournis par le site de Bigonoff)
    je recois souvent cette erreur et je n'arrive pas a m'en debarrasser:


    Debug build of project `C:\Documents and Settings\sholva\Mes documents\My MPLAB files\myinter.mcp' started.
    Preprocessor symbol `__DEBUG' is defined.
    Sat Aug 09 14:48:46 2008
    ----------------------------------------------------------------------
    Make: The target "C:\Documents and Settings\sholva\Mes documents\My MPLAB files\myinter.o" is out of date.
    Executing: "C:\Program Files\Microchip\MPASM Suite\MPASMWIN.exe" /q /p16F84 "myinter.asm" /l"myinter.lst" /e"myinter.err" /d__DEBUG=1
    Message[302] C:\DOCUMENTS AND SETTINGS\SHOLVA\MES DOCUMENTS\MY MPLAB FILES\MYINTER.ASM 147 : Register in operand not in bank 0. Ensure that bank bits are correct.
    Error[173] C:\DOCUMENTS AND SETTINGS\SHOLVA\MES DOCUMENTS\MY MPLAB FILES\MYINTER.ASM 184 : Source file path exceeds 62 characters (C:\DOCUMENTS AND SETTINGS\SHOLVA\MES DOCUMENTS\MY MPLAB FILES\MYINTER.ASM)
    Halting build on first failure as requested.
    ----------------------------------------------------------------------
    Debug build of project `C:\Documents and Settings\sholva\Mes documents\My MPLAB files\myinter.mcp' failed.
    Preprocessor symbol `__DEBUG' is defined.
    Sat Aug 09 14:48:47 2008
    ----------------------------------------------------------------------
    BUILD FAILED



    Voici le fichier asm pour ceux qui pensent que ca viendrait du code:



    ;***************************** ****************************** ***********
    ; Ce programme est un programme didactique destiné à monter *
    ; le fonctionnement des interruptions *
    ; *
    ;***************************** ****************************** ***********
    ; *
    ; NOM: Interruption par bouton-poussoir sur RB0 *
    ; Date: 08/09/08 *
    ; Version: 1.0 *
    ; Circuit: Platine d'essais *
    ; Auteur: Bigonoff *
    ; *
    ;***************************** ****************************** ***********
    ; *
    ; Fichier requis: P16F84.inc *
    ; *
    ; *
    ; *
    ;***************************** ****************************** ***********
    ; *
    ; Notes: Ce programme transforme un bouton-poussoir en *
    ; télérupteur. Un pulse allume la LED, un autre *
    ; l'éteint *
    ; *
    ; *
    ;***************************** ****************************** ***********


    LIST p=16F84 ; Définition de processeur
    #include <p16F84.inc> ; Définitions des constantes

    __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC

    ; '__CONFIG' précise les paramètres encodés dans le processeur au moment de
    ; la programmation. Les définitions sont dans le fichier include.
    ; Voici les valeurs et leurs définitions :
    ; _CP_ON Code protection ON : impossible de relire
    ; _CP_OFF Code protection OFF
    ; _PWRTE_ON Timer reset sur power on en service
    ; _PWRTE_OFF Timer reset hors-service
    ; _WDT_ON Watch-dog en service
    ; _WDT_OFF Watch-dog hors service
    ; _LP_OSC Oscillateur quartz basse vitesse
    ; _XT_OSC Oscillateur quartz moyenne vitesse
    ; _HS_OSC Oscillateur quartz grande vitesse
    ; _RC_OSC Oscillateur à réseau RC

    ;***************************** ****************************** **********
    ; ASSIGNATIONS *
    ;***************************** ****************************** **********

    OPTIONVAL EQU H'00' ; Valeur registre option
    ; Résistance pull-up ON
    ; Interrupt flanc montant RB0
    ; Préscaler timer à 2 (exemple)

    INTERMASK EQU H'90' ; Masque d'interruption
    ; Interruptions sur RB0 (exemple)


    ;***************************** ****************************** **********
    ; DEFINE *
    ;***************************** ****************************** **********
    #DEFINE Bouton PORTB,0 ; Bouton poussoir
    #DEFINE LED PORTA,2 ; LED

    ;***************************** ****************************** **********
    ; MACRO *
    ;***************************** ****************************** **********
    BANK0 macro
    bcf STATUS,RP0 ;passer en banque 0
    endm

    BANK1 macro
    bsf STATUS,RP0 ;passer en banque 1
    endm

    ;***************************** ****************************** **********
    ; DECLARATIONS DE VARIABLES *
    ;***************************** ****************************** **********

    ;exemples
    ;---------
    CBLOCK 0x00C ; début de la zone variables
    w_temp :1 ; Zone de 1 byte
    status_temp : 1 ; zone de 1 byte
    cmpt1 :1 ;compteur de boucles 1 dans tempo
    cmpt2 :1 ;compteur de boucles 2 dans tempo
    cmpt3 :1 ;compteur de boucles 3 dans tempo
    ENDC ; Fin de la zone

    ;***************************** ****************************** ***********
    ; DEMARRAGE SUR RESET *
    ;***************************** ****************************** ***********

    org 0x000 ; Adresse de départ après reset
    goto init ; Adresse 0: initialiser

    ;***************************** ****************************** ***********
    ; ROUTINE INTERRUPTION *
    ;***************************** ****************************** ***********

    ;sauvegarder registres
    ;---------------------
    ORG 0x004 ; adresse d'interruption
    movwf w_temp ; sauver registre W
    swapf STATUS,w ; swap status avec résultat dans w
    movwf status_temp ; sauver status swappé
    call intrb0 ;triater interrupt RB0

    ;restaurer registres
    ;-------------------
    restorereg
    swapf status_temp,w ; swap ancien status, résultat dans w
    movwf STATUS ; restaurer status
    swapf w_temp,f ; Inversion L et H de l'ancien W
    ; sans modifier Z
    swapf w_temp,w ; Réinversion de L et H dans W
    ; W restauré sans modifier status
    retfie ; return from interrupt

    ;***************************** ****************************** ***********
    ; INTERRUPTION RB0/INT *
    ;***************************** ****************************** ***********
    ;----------------------------------------------------------------------
    ; inverse le niveau de RA2 a chaque passage *
    ;----------------------------------------------------------------------
    intrb0
    movlw B'00000100' ; bit positionne = bit a inverser
    BANK0 ; car on ne sait pas su quelle banque
    ; on est dans en interruption (le programme
    ; prinicpal peu avoir change d ebanque). ce n'est
    ; pas le cas ici,mais c'est une sage decision
    xorwf PORTA,f ; inverser RA2
    return ; fin d'interruption RB0/INT

    ;***************************** ****************************** **********
    ; INITIALISATIONS *
    ;***************************** ****************************** **********

    init
    clrf PORTA ; Sorties portA à 0
    clrf PORTB ; sorties portB à 0
    clrf EEADR ; permet de diminuer la consommation
    BANK1 ; sélectionner banque 1
    movlw OPTIONVAL ; charger masque
    movwf OPTION_REG ; initialiser registre option

    ; Effacer RAM
    ; ------------
    movlw 0x0c ; initialisation pointeur
    movwf FSR ; pointeur d'adressage indirec
    init1
    clrf INDF ; effacer ram
    incf FSR,f ; pointer sur suivant
    btfss FSR,6 ; tester si fin zone atteinte (>=40)
    goto init1 ; non, boucler
    btfss FSR,4 ; tester si fin zone atteinte (>=50)
    goto init1 ; non, boucler

    ;configurer PORTS
    ;----------------

    bcf LED ; RA2 en sortie (TRISA)

    BANK0 ; Sélectionner banque 0
    movlw INTERMASK ; masque interruption
    movwf INTCON ; charger interrupt control
    goto start ;sauter programme principal


    ;***************************** ****************************** **********
    ; PROGRAMME PRINCIPAL *
    ;***************************** ****************************** **********

    start
    nop ;instruction inutile
    nop ;instruction inutile
    nop ;instruction inutile
    nop ;instruction inutile
    nop ;instruction inutile
    goto start ; boucler
    END ; directive fin de programme


    Merci d'avance.

    -----

  2. #2
    cherwam07

    Re : probleme MPLAB

    Error[173] C:\DOCUMENTS AND SETTINGS\SHOLVA\MES DOCUMENTS\MY MPLAB FILES\MYINTER.ASM 184 : Source file path exceeds 62 characters (C:\DOCUMENTS AND SETTINGS\SHOLVA\MES DOCUMENTS\MY MPLAB FILES\MYINTER.ASM)
    Tout est là il suffit de lire.

    Quand les chemins pour acceder à tes dossiers sont trop long MPLAB n'aime pas.

    Donc déplace ton projet dans un dossier tel que C:/programmes_pic/
    et ca marchera

  3. #3
    invitec6f63aec

    Re : probleme MPLAB

    J'avais lu mais j'avais un fichier qui marchait donc je ne voyais pas pourquoi avec d'autres de meme longueurs ca ne marchaient pas.

    Oui ca marche en changeant de dossiers

    Merci

Discussions similaires

  1. Problème de compilation MPLAB
    Par grd666 dans le forum Électronique
    Réponses: 2
    Dernier message: 19/06/2008, 15h23
  2. Probleme avec MPLAB.
    Par invitee25bb931 dans le forum Électronique
    Réponses: 5
    Dernier message: 21/04/2008, 22h10
  3. Problème MPLAB / CCS
    Par invitec4f3b95a dans le forum Électronique
    Réponses: 2
    Dernier message: 06/11/2007, 11h56
  4. Probleme MPLAB
    Par inviteb527dc22 dans le forum Électronique
    Réponses: 3
    Dernier message: 23/01/2006, 13h55
  5. problème mplab
    Par nanard dans le forum Électronique
    Réponses: 0
    Dernier message: 15/11/2005, 11h48
Découvrez nos comparatifs produits sur l'informatique et les technologies.