Pixace Editor:problemes des Mode Similation, mode Programmation et Pixace VSM

Gaston Dezau

New Member
Bonjour, je viens d'acquerir mon kit Pixace afin de developper des projets electroniques.
J'ai donc commencé par un projet de gestion des feux tricolores de parking MAINLED. HIGHLED et LOWLED commandés par 3 boucles magnétiques MAINLOOP, HIGHLOOP et LOWLOOPdetectant le passage d'un vehicule.
Mon principal problème est que mon programme fonctionne parfaitement en mode Similation mais presente quelques anomalies en mode Programmation ou sous Picaxe VSM.
Cela se produit quand j'introduis la variable COUNTIME dans mes boucles LOOP WHILE. Il semble que le programme n'execute plus cette ligne (39 pour MAINLED).
D'autres part peut-on m'expliquer pourquoi certaines instructions BASIC comme RESET, START, #PICAXE 14M2 ne sont pas reconnues par Picaxe VSM ?
Ci-joints schema et programme.
Merci pour votre aide
schema.jpg

Code:
;#picaxe14m2	
;setfreq m16	
;setint %00000001,%00000011
symbol mainloop=pinC.1
symbol highloop=pinC.2
symbol lowloop=pinC.3
symbol lockled=B.0
symbol mainled=B.1
symbol highled=B.2
symbol lowled=B.3
symbol countime=b1
symbol maxtime=b2
maxtime=60


mainprog:

	low B.0
	low mainled
	low highled
	low lowled
	countime=1
	if mainloop=1 then goto  mainlt
	if highloop=1 then goto  lowlt
	if lowloop=1 then goto  highlt
goto mainprog

mainlt:
	high lockled
	high mainled
	low highled
	low lowled
	pause 8000
	low mainled 
	Do  
	inc countime
	if countime > maxtime then goto offtime	 
	loop while highloop =0 and lowloop=0 ;and countime <maxtime
	goto offtime

lowlt:
	high B.0
	low B.1
	high B.2
	low B.3
	pause 8000
	low B.2 
	Do 
 	;w1=w1+1  
	loop while pinC.1 =0 ;and b0 <20
	pause 7000
	goto mainprog 
	
highlt:
	high B.0
	low B.1
	low B.2
	high B.3
	pause 8000
	low B.3 
	Do 
	;w1=w1+1	
	loop while pinC.1 =0 ;and b0 <20
	pause 7000
	goto mainprog
	
offtime:
	;pause 5000
	goto mainprog 


;interrupt:
	;high B.0
	;low B.1
	;low B.2
	;low B.3 
	;if pinC.1 = 1 then interrupt 
	;pause 4000 
	;setint %00000001,%00000011 ;
	;goto mainprog
 

PieM

Senior Member
Si vous définissez des symboles merci de les utiliser systématiquement dans le programme.
Et une certaine logique voudrait qu'ils aient le même nom dans le programme et sur le schéma !
Merci également de documenter votre programme et de dire en quelques mots à quoi il sert.
Les intervenants n'ont pas forcément le loisir de jouer aux devinettes...

Concernant les instructions "non reconnues" VSM est basé sur ISIS qui n'intègre pas forcément le mode reset d'un picaxe, et encore moins start qui est une instruction de pseudo multi tâche.
Quant à la directive elle est inutile puisque liée au type de Picaxe choisi dans VSM.

Pour info, quel est l'intérêt des inverseurs sur les entrées, alors que les niveau logiques sont arbitraires et définis par la lecture des entrées sur un µC?
 

BESQUEUT

Senior Member
Si vous définissez des symboles merci de les utiliser systématiquement dans le programme.
Et une certaine logique voudrait qu'ils aient le même nom dans le programme et sur le schéma !
Merci également de documenter votre programme et de dire en quelques mots à quoi il sert.
Les intervenants n'ont pas forcément le loisir de jouer aux devinettes...

Concernant les instructions "non reconnues" VSM est basé sur ISIS qui n'intègre pas forcément le mode reset d'un picaxe, et encore moins start qui est une instruction de pseudo multi tâche.
Quant à la directive elle est inutile puisque liée au type de Picaxe choisi dans VSM.

Pour info, quel est l'intérêt des inverseurs sur les entrées, alors que les niveau logiques sont arbitraires et définis par la lecture des entrées sur un µC?
Par ailleurs de nombreux points ont déjà été abordés sur le forum en anglais.
 
Top