TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: dookie_ast en 13 de Enero de 2005, 11:36:00
-
hola
alguien sabe como podria convertir una word (o dword) ke kontiene un numero pj: 1234 y ir separandolos en byte. Osea:
yo tngo
valor = 1234
y tengo k acer k
valor1[0] = 1
valor1[1] = 2
y asi con el resto. alguien podria ayudarme"?? weno alguien lo entiende?? jajaja gracias a todos
-
Que onda dookie_ast,
EL valor que pones cabe en un word, (hasta 65535). si lo que quieres es manejar bytes altos y bajos, puedes hacerlo con alias:
variable var WORD
BYTEH var variable.byte1 (2° byte de variable)
BYTEL var variable.byte0 (1° byte de variable)
ejemplo:
variable var WORD
BYTEH var variable.byte1
BYTEL var variable.byte0
resultado var byte
variable=$1234 "
resultado=byteh " seria 0x12
Tambien puedes manejar bits separados bit_1 var variable.bit0 , etc...
Aqui hay mas info de los alias : http://www.todopic.com.ar/pbp_sp.html#alias
No se si es esto lo que necesitabas,
, pero si no lo es podrias explicarlo de nuevo siendo un poco mas especifico y asi podremos ayuidarte mas facilmente.
Salu2
-
no, no es esactamente eso aver si m puedo explicar mejor...perdona esk soi un paleto pa explicar



el pic me calcula un numero que ira entre 0 y 5000 y yo ese valor que lo meto en una word, bien, ahora esta el meollo del asunto. aora necesito seprar ese numero: si me da 1234 yo tngo que cojer el 1 y meterlo en un byte, despues el 2 y meterlo en otro byte, y despues el 3 y luego el 4
espero que esta vez m ayais entendido![Angelito Angelito]()
gracias!!
-
Creo que esto es lo que necesitas:
Rastreas tu word con el comando DIG y obtienes los valores que guardas en las nuevas variables.
In this form, the Dig operator is compatible with the BASIC STAMP, and the melab"s PICBASIC PRO compiler. Dig returns the specified decimal digit of a 16-bit positive value. Digits are numbered from 0 (the rightmost digit) to 4 (the leftmost digit of a 16- bit number; 0 to 65535). Example:
WRD1= 9742
PRINT WRD1 DIG 2 " Display digit 2 (7)
FOR Loop = 0 TO 4
PRINT WRD1 DIG Loop " Display digits 0 through 4 of 9742.
NEXT
Notes
This version of Dig does not support dword or float type variables, in order to keep compatibility with the STAMP, and Melabs. If a dword Dig operation is required, use the Proton Dig command instead.
Saludos
Ricky