Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

probleme simple avec PIC



  1. #1
    Cyrius666

    Unhappy probleme simple avec PIC


    ------

    voila g toujours le meme probleme, je rapel ke je ne programme pas en assembleur, mais en C.

    Je doi utiliser les interruptions avec interrupteur(normalement c simple) sauf ke la il se passe rien.

    G donc réalisé un programme de test pour voir d ou vient le PB. vous pouvez voir le programme.
    Cette fois ci j envoi aussi le fichier en point h. Ce fichier donne les fonction pour parametrer les registres, car on ne peux pas utiliser les code assembleurs.
    la partie des interruption et tout en bas.

    le programme test est simple. si on appuis sur le bouton A0 il y a un état haut dans la sortie C6, si on reappuit il y a un etat bas dans la sortie C6.

    Merci de votre aide, ca fait une semaine ke je gallere.

    -----
    Fichiers attachés Fichiers attachés

  2. #2
    umfred

    Re : probleme simple avec PIC

    il me semble que les routines d'interruptions doivent déclarer en interrupt.C'est à dire, dans ton cas:

    interrupt RA_isr()
    {

    if(input(pin_a0)==1)
    {
    output_high(pin_c6);
    }
    else
    {
    output_low(pin_c6);
    }
    }


    De plus, sur A0, c'est un interrupteur 2 positions ou un simple bouton poussoir?

    Dans le cas d'un interrupteur 2 positions, il faut valider l'interruption sur un front montant et descendant.

    Dans le cas d'un bouton poussoir, ce n'est pas l'état de A0 qu'il faut voir mais celui de la sortie, sinon il y a des (mal)chances que A0 soit retourné à 0 avant le test et donc c6 sera toujours à 0.

    PS: normalement tu peux mettre de l'assembleur en utilisant le mot-clé asm: (à vérifier)

  3. #3
    Cyrius666

    Re : probleme simple avec PIC

    merci !

    j utilise bien un bouton poussoir. il est toujours a 1, quand j appuis, il met un 0. mes rien ne se passe. peut etre ke la Pin est morte, mais g testé avec d autre, c pareil.

    meme si je mes :
    #INT_RA
    void RA0_isr() <<<<<<
    {
    ...
    }
    ca ne marche pas, aucune reaction.

    et #INT_RA0 n est pas reconnue.

  4. #4
    umfred

    Re : probleme simple avec PIC

    il semblerai que le port A soit par défaut en analogique (bit à 1 dans le registre ANSEL (page 62 du pdf de la doc du microcontroleur). essaie en mettant ce registre à 0 pour sélectionner le mode numérique de ce port.

    je ne vois pas à quoi sert le #INT_RA avant la fonction d'interruption, si c'est pour dire dire qu'il s'agit de fonction d'interruption ca ne marche pas utilise ce que j'ai mis précédemment

    #INT_RA
    void RA0_isr()
    devient
    interrupt RA0_isr()

    PS: pour vérifier si une sortie est HS, il suffit de lui faire faire allumer /éteindre alternativement une LED avec une tempo entre l'extinction et l'allumage

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

    Re : probleme simple avec PIC

    Merci 1000 foi !!

    t le premier a me donner une réponse ki me semble crédible.
    merci aussi aux autres.

    JE vais tester
    demain.

Discussions similaires

  1. Probleme avec pic
    Par emondfr dans le forum Électronique
    Réponses: 16
    Dernier message: 28/09/2007, 15h03
  2. probleme avec un pic 16f84a
    Par freinsch dans le forum Électronique
    Réponses: 6
    Dernier message: 29/07/2007, 21h32
  3. probleme avec pic
    Par timodokk dans le forum Électronique
    Réponses: 2
    Dernier message: 19/07/2007, 15h50
  4. Problème avec Pic basic 1S
    Par jack bauer dans le forum Électronique
    Réponses: 0
    Dernier message: 09/02/2007, 20h54
  5. Probleme CAN avec PIC
    Par Cyrius666 dans le forum Électronique
    Réponses: 1
    Dernier message: 09/06/2006, 17h54
Découvrez nos comparatifs produits sur l'informatique et les technologies.