interruption GSM Xbee clavier

Laurent

New Member
Bonjour, je suis un petit nouveau dans le monde du picaxe, mais électronicien passionné

Je souhaite faire unprogramme avec un 40X2 (3V) qui gère, comme évènements: une liaison xbee (hserin/out), une liaison GSM (I2C vers un unique modem) et une liiason clavier (port B pour interruptions hard ), soit a priori un programme d'initialisation et 3 programmes d'interruption (1 par évènements).
Mais comment ça marche ? En gros, comment puis-je signifier au programme , le label./étiquette de début du programme d'interruption lié soit à l'évènement hintflag, soit à hserflag ou à hi2cflag ?
Ou bien s'agirait-il d'un programme unique d'interruption dans lequel je vais tester le bit qui a déclenché ? Y-at-il un label obligatoire pour le début du(es) programme(s) d'interruption ?


Question subsidiaire: le 40X2 , dit-on, a 4 slots de programme interne, soit un théorique 4000 lignes de programme (?). Sachant que monprogramme va être long et pourrait dépasser 800-1000 lignes (avec des instructions "mémoryphages", est-ce idiot de se dire je prends le slot 0 pour le programme principal (initialisation) , lancé au démarrage, et je prends les slots 1 à 3 pour respectivement les interruptions GSM, Xbee et clavier ?

Désolé de vos poser autant de questions, mais la gestion de programmes picaxe est encore confuse pour moi et j'ai des connaissances ... hum perfectibles sur les pics. En revanche, je peux peut-être vous être utile sur la gestion d'une liaison gsm ou xbee que je maîtrise.

Bonne journée,
Laurent
 

PieM

Senior Member
Bonjour,

et bienvenue...

Dans le principe, un setintflag va définir quelles sont les interruptions actives.
Dès qu'une interruption va survenir, elle va renvoyer obligatoirement vers un sous programme qui se nomme interrupt:
ce sous programme doit se terminer par un return, après avoir réinitialisé les interruptions par un setint xxxx

Chaque interruption est définie par une variable flag0 à flag 7 que l'on peut tester pour connaître l'origine de l'interruption.
flag0 à flag2 sont pour les entrées hard B.0 à B.2
flag5 pourt le hserin, et flag6 pour le hi2c

voir manuel 2 : variable système
voir aussi : Ici

Donc, à priori, un test sur ces flags permet de diriger vers le bon sous programme.

L'utilisation des slots est en effet possible, mais je ne sais comment réagissent les interruptions si on est dans un autre slot ... :confused:
 

PieM

Senior Member
Complément,


le 40X2 , dit-on, a 4 slots de programme interne, soit un théorique 4000 lignes de programme
Chaque slot contient 4096 bytes . Il est difficile de raisonner en lignes de programmes. J'ai rarement pu mettre autant de lignes que ce que disent les docs ! :)
 

Laurent

New Member
Merci pour vos réponses. Votre rapidité laisse sans voix

J'y vois déjà àpeu près clair quant à la gestion des interruptions.

Laurent
 
Top