Autor Tema: Migrando de PICAXE a PBP...  (Leído 2404 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado sonicTH

  • PIC10
  • *
  • Mensajes: 21
Migrando de PICAXE a PBP...
« en: 18 de Mayo de 2010, 22:52:36 »

   Hola ke tal:

       Estoy pasando un programa hecho en PICAXE a PBP, claro ke creando respectivas variables y modificando cosas. En fin, yo creí que ya estaba pero me está marcando un error desconocido  :? o al menos que no entiendo en dónde se encuentra.

  El error es: "ERROR: ELSE: Mismatched block nesting."

  y el código:

Código: [Seleccionar]
'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2010 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 18/05/2010                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************

'INCLUDE "bs1defs.bas"

'INCLUDE "bs2defs.bas"

DEFINE ADC_BITS 8       ' Set number of bits in result
'DEFINE ADC_CLOCK 3     ' Set clock source (rc = 3)
'DEFINE ADC_SAMPLEUS 50 ' Set sampling time in microseconds

'TRISA = 255 ' Set PORTA to all input
ADCON1 = 2  ' PORTA is analog
 'TRISB=%11110000

 pins var byte
 b0 var byte
 b1 VAR byte
 b2 var byte
 w4 var word
 w5 var word
 w6 var word
 ckp con 0
 cmp con 1
 ref con 0
 sync con 1
 pip con 2

  symbol cont = b1 ; Variable del ciclo de repeticion
symbol tiempo = b0 ; Tiempo del estado ya sea alto o bajo
symbol t2 = w6
symbol aux = b2
'symbol ckp = 0 ; Pin de salida
'symbol cmp = 1 ; Pin de salida
symbol t3 = w4
symbol t4 = w5
'symbol ref = 0
'symbol sync = 1
'symbol pip = 2



;************* MENU DE SEÑALES  ******************

inicio:

select case pins

case 2
goto ford
case 1
goto chevrolet
case 3
goto sbec2_5
case 128
goto sbec_y_pcm3_0
case 130
goto sbec3_3
case 129
goto sbec3_9
case 131
goto sbec4_0
case 64
goto sbec5_2_y_5_9
case 66
goto pcm2_4
case 65
goto pcm2_5
case 67
goto pcm3_3
case 192
goto GA16DE
case 194
goto GA16DNE
case 193
goto vw1_6
case 195
goto vw1_8
else

end select
goto inicio



;***********  SEÑAL DE CHRYSLER 2.4L *******************
;*******************************************************



pcm2_4: adcin 2,tiempo
portB = 2
t2 = tiempo*6
pause t2
aux = 4
gosub reloj
pause t2
high ckp
t2 = tiempo*3
pause t2
low cmp
t2 = tiempo*2
pause t2
gosub reloj
t2 = tiempo*5
pause t2
high cmp
t2 = tiempo*6
pause t2
gosub reloj
pause tiempo
pause tiempo
low cmp
t2 = tiempo*4
pause t2
high ckp
t2 = tiempo*5
pause t2
gosub reloj
pause t2
goto pcm2_4


;**************    SUBRUTINA


reloj: for cont = 1 to aux
high 0
pause tiempo
low 0
pause tiempo
next cont
return



;***********  SEÑAL DE CHRYSLER 2.5L 6 Cilindros *******************
;*******************************************************************


pcm2_5:

portB = 0
ini: adcin 2,tiempo
toggle cmp
t2 = tiempo * 12
pause t2
t2 = tiempo * 8
for cont = 1 to 4
high ckp
pause tiempo
low ckp
pause t2
next cont
t2 = tiempo * 4
pause t2
goto ini


;***********  SEÑAL DE CHRYSLER 2.5L 4 Cilindros *******************
;*******************************************************************


sbec2_5:

adcin 2,tiempo

portB = 3
pause tiempo
low ckp
pause tiempo
high ckp
pause tiempo
t3 = tiempo * 3
t4 = tiempo * 4
for cont = 1 to 3
portB = 0
pause t4
portB = 3
if cont = 2 then
pause tiempo
low cmp
pause tiempo
high cmp
pause tiempo
goto aqui
else
endif
pause t3
aqui: next cont
portB = 0
pause t3
goto sbec2_5

;***********  SEÑAL DE CHRYSLER 3.3L 6 Cilindros *******************
;**************************************

sbec3_3: portB = 2
for cont = 1 to 119
adcin 2,tiempo
pause tiempo
select case t2
case 4,7,10,13,24,27,30,33,48,51,54,57,65,69,72,75,86,89,92,95,107,110,113,116
high ckp
case 5,8,11,14,25,28,31,34,49,52,55,58,66,70,73,76,87,90,93,96,108,111,114,117
low ckp
case 16,20,36,40,44,60,78,82
high cmp
case 2,18,22,38,42,46,62,80,84
low cmp
else
end select

next cont

goto sbec3_3



;***********  SEÑAL DE NISSAN GA16DE *******************
;*******************************************************************

GA16DE: portB = 3
ga: for t3 = 1 to 360

adcin 2,tiempo
high ref
pause tiempo
low ref
pause tiempo

select case t3
case 90,180,270,360
high sync
case 92,182,272,8
low sync
else
end select
next t3
goto GA


;***********  SEÑAL DE NISSAN GA16DNE *******************
;*******************************************************************


GA16DNE: adcin 2,tiempo
t4 = tiempo * 5
t3 = tiempo * 7
high ref
pause t4
low ref
pause tiempo
high ref
pause tiempo
low ref
pause t4
for cont = 1 to 3
high ref
pause t4
low ref
pause t3
next cont
goto GA16DNE


;***********  SEÑAL DE FORD MERCURY 4.6L 8 Cilindros *******************
;*******************************************************************


ford: adcin 2,tiempo
high pip
pause tiempo
low pip
pause tiempo
goto ford


;***********  SEÑAL DE CHEVROLET TBI 5.7L 8 Cilindros *******************
;*******************************************************************



chevrolet:

        adcin 2,tiempo
t2=tiempo*3
high ref
pause tiempo
low ref
pause t2
goto chevrolet


sbec_y_pcm3_0:
sbec3_9:
sbec4_0:
sbec5_2_y_5_9:
pcm3_3:
vw1_6:
vw1_8:

end

Espero me puedan ayudar y sorry por no ponerlo donde debe ser, pero es mejor seguir con el tópico creo :mrgreen: gracias.

Desconectado sonicTH

  • PIC10
  • *
  • Mensajes: 21
Re: Migrando de PICAXE a PBP...
« Respuesta #1 en: 22 de Mayo de 2010, 17:00:30 »
gracias... ¬¬


 

anything