Autor Tema: FLOAT,DWORD,WORD,BYTE,BIT --->STRING  (Leído 2404 veces)

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

Desconectado Lager.

  • Moderadores
  • PIC18
  • *****
  • Mensajes: 477
FLOAT,DWORD,WORD,BYTE,BIT --->STRING
« en: 21 de Diciembre de 2004, 12:30:00 »
Una cualidad mas de proton ya por todos conocida es la conversion de cualquier variable(FLOAT,DWORD,WORD,BYTE,BIT) a variable string con Null automatico. esto es ideal para envio de datos,impresion en lcd,etc.. Aqui os dejo un ejemplo sencillo:
----------------------------------------------------------------------------------------------------------

DEVICE 16F628A
CONFIG INTRC_OSC_NOCLKOUT,WDT_OFF,PWRTE_ON,CP_OFF,BODEN_OFF,LVP_OFF,MCLRE_OFF
ALL_DIGITAL ON
PORTB_PULLUPS ON
DECLARE LCD_DTPIN PORTA.0
DECLARE LCD_ENPIN PORTB.3
DECLARE LCD_RSPIN PORTA.4
DECLARE FLOAT_DISPLAY_TYPE = LARGE
DIM FL AS FLOAT
DIM STRIN[11]AS BYTE
 CLS
 FL=123.567 * 1.02
 STR STRIN= STR$(dec FL)
 PRINT STR STRIN
 END
---------------------------------------------------------------------------------------------------------

Salu2 panas

Desconectado hexmotion

  • PIC10
  • *
  • Mensajes: 22
RE: FLOAT,DWORD,WORD,BYTE,BIT --->STRING
« Respuesta #1 en: 21 de Diciembre de 2004, 13:38:00 »
oye, esta sentencia es valida?
DIM STRIN[11]AS BYTE
DIM STROUT[11]AS BYTE

str strin= strin + strout

Desconectado Lager.

  • Moderadores
  • PIC18
  • *****
  • Mensajes: 477
RE: FLOAT,DWORD,WORD,BYTE,BIT --->STRING
« Respuesta #2 en: 21 de Diciembre de 2004, 15:34:00 »
No pana, lo que estas haciendo lo estas haciendo mal definido.
El ejmplo que puse es para CONVERSION de  DATOS a STRING(TEXTO) es otro su uso....
Te explico tu error : STRIN y STROUT son ARRAYS no strings.... por tanto tienes que hacer la suma REAL de cada array y seria Aritmetica.
Para definir una variable como string se hace de la siguiente forma:
DIM STRIN AS STRING * 11
Entonces SI seria una string y podriamos hacer la CONCATENACION(en visual basic es con &Giño con el simbolo suma(+):

DIM STRIN AS STRING * 11
DIM STROUT AS STRING * 11

strin= strin + strout

OJO que el usar strings usa bastante memoria por eso la definicion de strings solo esta implementado en modelos de 16 bits(p.e. 18f452)
 
Un ejemplo del manual:

 DEVICE = 18F452                      "modelo de 16 bits
 DIM DEST_STRING as STRING * 20       " string de hasta 20 caracteres characters
 DIM SOURCE_STRING as STRING * 20     "

 DEST_STRING = "HELLO "               " cargamos el 1er string
 SOURCE_STRING = "WORLD"              " cargamos el 2° string
 DEST_STRING = DEST_STRING + SOURCE_STRING "los concatenamos
 PRINT DEST_STRING                    " vemos el resultado imprimiendolo
 STOP                                

Por favor lee el manual, ahi viene mejor explicado y con ejemplos.

Salu2              


 

anything