IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Embarqué Discussion :

Timer ISR manuelle


Sujet :

Embarqué

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Timer ISR manuelle
    Bonjour à tous.

    Je suis sur un problème depuis deux jours, je programme en C, un petit atmega 328p en n'utilisant aucune librarie atmel/microchip.

    Mais voilà je sèche sur un problème, le TIMER, en effet je suis obliger d'utiliser la librarie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    
    #include <avr/interrupt.h>
    
    ISR(TIMER2_OVF)
    {
    
    }
    Et justement je en veux pas.

    Je connais pourtant l'adresse de la routine que je veux atteindre (0x0012) mais je n'y arrive pas.

    Nom : rout.JPG
Affichages : 233
Taille : 59,3 Ko

    Pouvez-vous m'indiquer comment procéder ? Car je suis perdu.

    Cordialement.

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 267
    Points : 4 829
    Points
    4 829
    Par défaut
    Bonjour Mister!

    En fait interrupt.h est pratiquement incontournable, car le C n'a pas normalisé les interruptions materielles.
    It's nearly impossible to find compilers that agree on how to handle interrupt code. Since the C language tries to stay away from machine dependent details, each compiler writer is forced to design their method of support.
    Source: la page officielle de interrupt.h du compilateur AVR-GCC

    L'ensemble des mots clés de la lib permettent de dire au compilateur comment il doit définir la table des sauts en début de mémoire programme, et permettent d'écrire les fonctions qui finissent par un reti.

    C'est d'ailleurs valable pour l'ensemble des interruptions, pas uniquement celle que tu mentionnes ici.
    Si tu veux comprendre la mécanique au complet, ou si tu veux te passer de la lib interrupt.h, il te faut faire un programme en ASM intégral. (Bon après tu peux aussi réécrire interrupt.h au complet, vu que c'est de l'open source...)

    Delias

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Merci pour ta réponse Delias.
    Cordialement.

Discussions similaires

  1. Declenchement Manuel de Timer
    Par Danyel dans le forum VB.NET
    Réponses: 7
    Dernier message: 13/04/2008, 07h51
  2. [horloge] conflit caractère / timer
    Par JeanJean dans le forum C
    Réponses: 10
    Dernier message: 09/05/2003, 23h47
  3. [] [Réseau] Anti-timer, anti-idle
    Par clonevince dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 15/01/2003, 22h19
  4. Timer de précision
    Par guigui dans le forum MFC
    Réponses: 1
    Dernier message: 04/12/2002, 15h21
  5. Timer en µsecondes
    Par Dagobert dans le forum x86 16-bits
    Réponses: 3
    Dernier message: 25/11/2002, 00h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo