TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: Lager. 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
-
oye, esta sentencia es valida?
DIM STRIN[11]AS BYTE
DIM STROUT[11]AS BYTE
str strin= strin + strout
-
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 &
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