probleme simple avec PIC
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

probleme simple avec PIC



  1. #1
    invite70a6d0ab

    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
    invite70a6d0ab

    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
    invite70a6d0ab

    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 invite7a4a1434 dans le forum Électronique
    Réponses: 16
    Dernier message: 28/09/2007, 15h03
  2. probleme avec un pic 16f84a
    Par invited3e0cf9f dans le forum Électronique
    Réponses: 6
    Dernier message: 29/07/2007, 21h32
  3. probleme avec pic
    Par invite2b3d9dd6 dans le forum Électronique
    Réponses: 2
    Dernier message: 19/07/2007, 15h50
  4. Problème avec Pic basic 1S
    Par invitee66c3aa9 dans le forum Électronique
    Réponses: 0
    Dernier message: 09/02/2007, 20h54
  5. Probleme CAN avec PIC
    Par invite70a6d0ab dans le forum Électronique
    Réponses: 1
    Dernier message: 09/06/2006, 17h54
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...