Enviar valor MSB y LSB por serial en picaxe?

Hola!
Estoy trabajando con un kit picaxe en el cual estoy usando su potenciometro con el cual sus valores analogicos de voltage los leo como un binario de 10 bits.

Este es el codigo:

Código:
symbol puerto = B.4
main: readadc10 puerto,w1    ; read value into w1
	debug w1
	serout 2,n4800,(w1)
	pause 200   	; short delay
	goto main   	; loop back to start

En el puerto b.4 del micro, recibo la señal del potenciometro
Con readadc10 puerto,w1 ---> recibo la señal del puerto, la leo como binario de 10 bits y la almaceno en w1.

Despues envio w1 por serial.


El problema es que cuando veo con el debug que valor me esta dando w1, me esta dando un valor decimal que varia entre 0 y 1023 ya que es de 10 bits, pero necesito enviar por seriaal ese valor como parte alta y parte baja o sea MSB y LSB, para recibirlo en python y volver a unirlos.
No se como hacer eso, alguien me puede orientar??
Muchas gracias!!
 
No sé de programación en PICAXE pero el método es sencillo.

Por ejemplo, si dices que tu valor máximo son 10 bits, entonces nuestro valor máximo será = 1023
Entonces...
W0 = 1023

Para obtener el MSB usamos esta fórmula:
B0 = ((W0 >> 8) & $FF)
B0 ahora contiene el MSB de 1023 = 3

Para obtener el LSB ahora usamos esta fórmula:
B1 = (W0 & $FF)
B1 ahora contiene el LSB de 1023 = 255

Ahora, para unir nuevamente el MSB y el LSB, usamos esta fórmula:
W1 = ((B0 << 8) + B1)
Ahora W1 contiene la suma del MSB (B0) y LSB (B1) = 1023

Suerte.
 
Última edición:
Atrás
Arriba