[Programmation] RESET interne d'un microcontrôleur
Répondre à la discussion
Affichage des résultats 1 à 22 sur 22

RESET interne d'un microcontrôleur



  1. #1
    invite857acf1e

    RESET interne d'un microcontrôleur


    ------

    Bonjour,

    est t'il possible de RESETer en interne un microcontrôleur, j'utilise le PIC18F97J94. je veux faire un RESET seulement avec le software

    http://ww1.microchip.com/downloads/e.../30000575C.pdf

    Merci

    -----

  2. #2
    invitee05a3fcc

    Re : RESET interne d'un microcontrôleur

    Y a qu'a lire :
    § 5.0 page 88
    § 5.7 page 97
    Table 5-2 page 99
    RESET page 594
    je veux faire un RESET seulement avec le software
    Dans quel but ?

  3. #3
    invited14ca340

    Re : RESET interne d'un microcontrôleur

    Bonjour,
    Il doit y avoir une commande en assembleur pour le faire. Je le fais pour un PIC24F avec l'instruction asm("RESET"); (appelée dans mon code C)
    DAUDET78 je ne sais pas dans quel but achach veut l'utiliser, mais pour ma part je l'utilise dans 2 cas particuliers :
    - Pour passer en bootloader quand le système tourne en mode "super utilisateur"
    - Un client voulait que le système redémarre de lui même lors des changements de paramètres systèmes, sans avoir à faire un ON/OFF brutal (on séquence les alimentations)

  4. #4
    invite857acf1e

    Re : RESET interne d'un microcontrôleur

    Bonjour,

    il a été demandé par mon client, il voulait reseter le soft via une commande avec l'USB.

    Merci

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

    Re : RESET interne d'un microcontrôleur

    Citation Envoyé par achach Voir le message
    il a été demandé par mon client, il voulait reseter le soft via une commande avec l'USB.
    Reseter le soft ? ou le µC ?
    S'il n'y a pas d'instruction "reset" tu te branches à l'adresse programme "qui va bien".

  7. #6
    invite857acf1e

    Re : RESET interne d'un microcontrôleur

    Citation Envoyé par antek Voir le message
    Reseter le soft ? ou le µC ?
    S'il n'y a pas d'instruction "reset" tu te branches à l'adresse programme "qui va bien".
    non, je veux dire Reseter le microcontrôleur

  8. #7
    invited14ca340

    Re : RESET interne d'un microcontrôleur

    Je crois que l'instruction existe pour toutes les familles de PIC (et je pense que pour la plupart des microcontrôleurs en général, vous imaginez devoir utiliser une sortie pour agir sur l'entrée reset...)
    Donc comme je le disais il y a l'instruction asm("RESET"); ou la macro Reset(); qui doivent fonctionner

  9. #8
    antek

    Re : RESET interne d'un microcontrôleur

    Pour info (re)

    Les "vieux" 16F n'en ont pas, mais pas besoin d'une sortie sur le "reset" hard.
    Un branchement à l'adresse suffit.

  10. #9
    antek

    Re : RESET interne d'un microcontrôleur

    Et oui, le µC du demandeur contient l'instruction RESET, c'est à se demander si les gens lisent les doc.

  11. #10
    invitee05a3fcc

    Re : RESET interne d'un microcontrôleur

    Citation Envoyé par antek Voir le message
    ..... c'est à se demander si les gens lisent les doc.
    C'était ma réponse #2 !
    Citation Envoyé par DAUDET78 Voir le message
    Y a qu'a lire :
    § 5.0 page 88
    § 5.7 page 97
    Table 5-2 page 99
    RESET page 594

  12. #11
    invite857acf1e

    Re : RESET interne d'un microcontrôleur

    Citation Envoyé par naru2to Voir le message
    Je le fais pour un PIC24F avec l'instruction asm("RESET"); (appelée dans mon code C)
    j'ai arrivé à faire un Reset avec la macro RESET();

    je suis un peu curieux, je veux essayer la 1ere solution,comment faut'il faire pour utiliser l'instruction asm("RESET"); à appeler dans mon code C.

    j'utlise MPLAB X V3.05 avec le C18

    Merci

  13. #12
    invited14ca340

    Re : RESET interne d'un microcontrôleur

    Ben en incluant tel quel l'instruction asm("RESET"); dans le programme :
    Code:
    if(condition == TRUE)
    {
            asm("RESET");
    }

  14. #13
    invitee05a3fcc

    Re : RESET interne d'un microcontrôleur

    Citation Envoyé par achach Voir le message
    j'ai arrivé à faire un Reset avec la macro RESET();
    je suis un peu curieux, je veux essayer la 1ere solution,comment faut'il faire pour utiliser l'instruction asm("RESET"); à appeler dans mon code C.
    Quel intérêt d’insérer du code ASM dans ton programme en C ?
    On fait ça quand on veut optimiser la vitesse d’exécution d'un programme .

  15. #14
    antek

    Re : RESET interne d'un microcontrôleur

    Citation Envoyé par DAUDET78 Voir le message
    Quel intérêt d’insérer du code ASM dans ton programme en C ?
    Peut-être que l'instruction n'existe pas en C ?

  16. #15
    invite857acf1e

    Re : RESET interne d'un microcontrôleur

    Citation Envoyé par DAUDET78 Voir le message
    Quel intérêt d’insérer du code ASM dans ton programme en C ?.
    Je voulais juste tester cette solution, par curiosité

  17. #16
    invited14ca340

    Re : RESET interne d'un microcontrôleur

    Quel intérêt d’insérer du code ASM dans ton programme en C ?
    Par exemple quand il n'y a pas de macro définie mais personnellement je préfère utiliser une instruction asm pour les fonctions "spéciales" comme par exemple réinitialiser le watchdog, entrer en mode veille, c'est la même chose mais je trouve qu'au niveau de la lecture c'est plus simple pour les retrouver que si c'est une macro : les macro sont de la même couleur que tous les objet définis (#define) alors que l'instruction asm apparaît comme une instruction.

  18. #17
    invitee05a3fcc

    Re : RESET interne d'un microcontrôleur

    Citation Envoyé par naru2to Voir le message
    les macro sont de la même couleur que tous les objet définis (#define) alors que l'instruction asm apparaît comme une instruction.
    Des gouts et des couleurs ....

  19. #18
    invited14ca340

    Re : RESET interne d'un microcontrôleur

    A chacun ses habitudes le code en est tout autant lisible et le fonctionnement inchangé, donc les deux solutions sont bonnes.

  20. #19
    invite857acf1e

    Re : RESET interne d'un microcontrôleur

    Citation Envoyé par naru2to Voir le message
    Ben en incluant tel quel l'instruction asm("RESET"); dans le programme :
    Code:
    if(condition == TRUE)
    {
            asm("RESET");
    }
    il ne reconnait pas 'asm' faut ajouter une bibliothèque?

  21. #20
    invited14ca340

    Re : RESET interne d'un microcontrôleur

    Aucune lib spécifique mais peut être une option dans MPLAB, mais les compilateurs C18 et C30 sont obsolètes il me semble, j'utilise XC16 pour le PIC24F, peut être qu'avec XC8 pour le PIC18F ça fonctionnera

  22. #21
    invite936c567e

    Re : RESET interne d'un microcontrôleur

    Bonjour

    D'après le manuel de C18, avec ce compilateur le code devrait présenter la syntaxe suivante :

    Code:
    _asm
      RESET
    _endasm

  23. #22
    invite936c567e

    Re : RESET interne d'un microcontrôleur

    Sinon, toujours d'après ce manuel, il est prévu une macro pour exécuter l'instruction de RESET :

    Code:
      Reset();

Discussions similaires

  1. [Programmation] Reset de microcontrôleur
    Par invite203cd939 dans le forum Électronique
    Réponses: 10
    Dernier message: 09/04/2017, 15h13
  2. Réponses: 6
    Dernier message: 17/12/2015, 21h46
  3. Choix d'un microcontroleur / carte à microcontroleur
    Par bisou10 dans le forum Électronique
    Réponses: 29
    Dernier message: 25/10/2013, 15h33
  4. Cablage d'un reset hard sur un microcontroleur
    Par invite1d577638 dans le forum Électronique
    Réponses: 7
    Dernier message: 26/03/2013, 15h05
  5. Utiliser la PIN reset sur un microcontroleur comme PIN "normal"
    Par invite85a93e3d dans le forum Électronique
    Réponses: 11
    Dernier message: 13/08/2011, 13h23
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...