Utilisation des interruptions

prubi

New Member
Bonjour,
j'essaye depuis un certain temps d'utiliser la commande interruption setint or pour un robot à moustaches en pin0 et pin 1 mais j'ai l'impression que cette commande n'est pas reconnue (28X)...http://www.picaxeforum.co.uk/images/icons/icon9.gif
si quelqu'un a une idée.
merci

Mais je veux utiliser une interruption!

main:
setint or %00000011, %00000011
label_5F: let pins = 160 'forward
goto label_5F

interrupt:
if pin0=1 then label_8D
let pins = 80 'back
pause 1000
let pins = 144 'left
pause 800
label_B8: setint or %00000011, %00000011
return

label_8D: let pins = 80 'back
pause 1000
let pins = 96 'right
pause 800
goto label_B8
 

PieM

Senior Member
Bonjour,

La condition logique OR sur les entrées interruption n'est possible que sur les X1 et X2, et M2.

Syntax:
SETINT OFF
SETINT input,mask (AND condition)
SETINT AND input,mask (AND condition)
Additional options for M2, X1 and X2 parts:
SETINT OR input,mask (OR Condition)
SETINT NOT input,mask (NOT the AND Condition)
Additional options for M2, X1 and X2 parts:
SETINT input,mask,port
SETINT NOT input,mask,port
 

prubi

New Member
Merci pour la réponse
J'utilise un picaxe 28X1,
c'est donc compatible avec l'instruction SETINT OR ?
je vais ressayer...


Bonjour,

La condition logique OR sur les entrées interruption n'est possible que sur les X1 et X2, et M2.

Syntax:
SETINT OFF
SETINT input,mask (AND condition)
SETINT AND input,mask (AND condition)
Additional options for M2, X1 and X2 parts:
SETINT OR input,mask (OR Condition)
SETINT NOT input,mask (NOT the AND Condition)
Additional options for M2, X1 and X2 parts:
SETINT input,mask,port
SETINT NOT input,mask,port
 

prubi

New Member
interruption

A priori l'instuction setint or ne fonctionne pas avec le 28X1 mais j'ai réussi à contourner le problème avec setint not, et là cela fonctionne comme je veux...


main:
setint not %00000000, %00000011
label_14: let pins = 160 'forward
goto label_14

interrupt:
if pin1=1 then label_28
let pins = 80 'back
pause 100
let pins = 0 'halt
let pins = 144 'left
label_4F: pause 100
setint not %00000000, %00000011
return

label_28: let pins = 80 'back
pause 100
let pins = 0 'halt
let pins = 96 'right
goto label_4F
 
Top