​ ​ ​ ​ Précisions sur les Interruptions
Results 1 to 9 of 9

Thread: Précisions sur les Interruptions

  1. #1
    New Member
    Join Date
    Oct 2011
    Location
    marseille
    Posts
    3

    Unhappy Précisions sur les Interruptions

    Bonjour,
    Je débute avec la techno Picaxe et avant de me décider à l'utiliser pour remplacer de vieux 8051 j'ai décidé d'en faire le tour.
    Pour commencer, j'ai choisi une version de milieu de game, le 20X2. Le produit à l'air alléchant par sa simplicité de mise en oeuvre.
    Le seul point qui me pose problème, ce sont les Interruptions. Il y a bien une discution qui porte sur ce sujet mais le lien avec le fichier
    contenant les info. est cassé. Si quelqu'un ayant creusé le sujet pouvait éclairer ma lanterne, il serait le bien venu et me ferait gagner beaucoup de temps.
    Quelques questions que je me pose : - N'y a t il qu'un seul vecteur d'interruption nommé "interrupt:"?
    - Pour un 20X2 quelle est la différence entre les "hint" et les pins C.1 à C.5 configurés par setint ?
    - Quel est le role des flag ?
    - Quel est le temps de réaction (en cycle d'horloge) entre le front déclancheur et l'entrée dans la routine d'interruption?
    - Peut on imbriquer plusieurs interruptions, et par conséquent comment se gère les priorités ?
    Excusez moi si ces questions ne sont pas pertinantes pour un Picaxe.
    Merci par avance.

  2. #2
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,717

    Default

    Bonjour, et bienvenue.

    Il n'y a qu'un vecteur d'interruption qui conduit à une routine nommée obligatoirement interrupt qui doit, avant le return, se réinitialiser par un setint .
    Il n'est pas possible d'imbriquer des interruptions.

    Setint peut s'appliquer à toute la gamme picaxe et permet de combiner des états d'entrées conduisant à une interruption, avec des conditions logiques associées.

    Hintsetup ne concerne que les 20X2 et au dessus, qui sont équipés d'entrées interruption hard.
    hint1 et hint2 pour le 20X2 (entrées B.0 et B.1)
    hint0, hint1, et hint2 pour le 28X2 et 40X2

    Ce sont des "vraies" entrées interruption.
    Le hintsetup permet donc de définir dans ce cas quels sont les entrées hint actives et si l'interruption intervient sur front montant ou descendant.

    Concernant le hintflag ( uniquement valable aussi pour le 20X2 et +):
    des conditions interruptives sont possible par d'autre conditions que les précédentes: écriture série en arrière plan, entrée hi2c, état du comparateur interne, overflow du timer.

    hint0, hint1, et hint2 sont associées au flags 0 à 2 (1 à 2 pour le 20X2)
    le flag 3 est activé si hint0 ou hint1 ou hint2
    flag 4 est le comparateur
    flag5 entrée série
    flag6 entrée hi2c
    flag7 overflow du timer.

    Le setintflag, à la manière de setint , permet de définir les flags actifs, et leur condition d'état.

    Vous aurez beaucoup plus d'infos sur le forum anglais en recherchant "interrupt" .
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  3. #3
    New Member
    Join Date
    Oct 2011
    Location
    marseille
    Posts
    3

    Smile Merci

    Merci Piem d'avoir pris le temps de me répondre aussi rapidement.
    Les Bouches du Rhône salut l'Hérault.

  4. #4
    Moderator
    Join Date
    Mar 2008
    Location
    Western Australia
    Posts
    12,053

    Default

    La commande et la fonction de SETINT est par une méthode votée où le progiciel vérifie le statut des goupilles à l'accomplissement de chaque commande/étape de programme de BASIC. En conséquence, s'il y a une longue commande de PAUSE de durée puis l'interruption ne sera pas appelée jusqu'à ce que la durée de pause ait expiré et en conséquence l'interruption peut être manquée complètement si le changement d'état d'entrée à une goupille est momentané.

    L'arrangement de "HINT" d'interruption de matériel utilise le matériel et est sans interruption surveillé. Même si le programme est occupé à exécuter une commande qui prend une plus longue durée, l'interruption n'est pas manquée pendant que même est capturé dans le matériel et le drapeau d'interruption correspondant est placé.
    westaust55

    Hey Hamlet, 2B OR NOT 2B = $FF

  5. #5
    New Member
    Join Date
    Oct 2011
    Location
    marseille
    Posts
    3

    Default

    Bonjour, bonsoir selon que l'on soit en Europe ou en Australie !
    Je présume que les remarques de westaust55 s'appliquent de la même façon aux fonctions (Hser Ser), (Hpwm pwm), (Hspi, spi).
    Cordialement,
    Yves13

  6. #6
    New Member
    Join Date
    Mar 2015
    Location
    RENNES FRANCE
    Posts
    10

    Default

    bonsoir,
    sur picaxe 20M2 j'ai défini l'entrée d’interruption sur C.5
    Cela fonctionne très bien.
    mais je souhaiterais que cette interruption ramène au tout début du programme et cela je n'arrive pas malgré de longues heures de lecture !
    cordialement
    aneta

  7. #7
    Senior Member
    Join Date
    Jul 2010
    Location
    paris
    Posts
    1,360

    Default

    Bonsoir,

    Solution radicale, un reset dans le sub interrupt:

    MM

  8. #8
    New Member
    Join Date
    Mar 2015
    Location
    RENNES FRANCE
    Posts
    10

    Default

    Quote Originally Posted by MGU View Post
    Bonsoir,

    Solution radicale, un reset dans le sub interrupt:

    MM
    Merci !
    solution fonctionnellement radicale !

    Connaissez vous un ou des bouquins qui vous semblent les mieux écrits pour l'apprentissage du basic des picaxes ?
    j'avoue que je commence à 66 balais à mélanger mes connaissances entre le langage basic microsoft,le langage arduino et le PHP !!
    cordialement

    aneta

  9. #9
    Senior Member
    Join Date
    Sep 2011
    Location
    Montpellier (FRANCE)
    Posts
    2,626

    Default

    Quote Originally Posted by aneta View Post
    Connaissez vous un ou des bouquins qui vous semblent les mieux écrits pour l'apprentissage du basic des picaxes ?
    j'ai commis il y a quelques année un Manuel-PICAXE-BASIC-pour-débutants
    C'est malheureusement incomplet, et surtout PE6 étant passé par là, toutes les copies d'écran sont à refaire...
    Votre demande est une bonne raison pour s'y remettre !
    There are 10 types of people in the world: those who understand binary, and those who don't.

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •