TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: RALF2 en 07 de Septiembre de 2007, 17:11:34
-
Que tal amigos!
Quisiera comentarles unas dudas que tengo con respecto al manejo de string (STR) con el proton development.
Segun he leido en el manual si a una cadena de caracteres se le coloca al final un 0 (NULL) el string deja de aceptar mas caracteres y continua con la siguiente linea de codigo, por ejemplo:
include "proton_4.inc" ' esta linea es para utilizar las pcb que trae el sofware
dim st[20] as byte ' aqui creo un array de 20 elementos
str st = "hola",0 ' esta linea podria ser sustituida por str st = "hola" (sin el 0) ????
rsout str st
end
En el simulador trabaja bien habria que probar con un circuito real a ver que tal funciona.
Mi duda y de alli la pregunta es si yo no coloco el 0, al final del str, porque funciona? si segun el manual no deberia?
Sera porque cuando uno crea una variable el compilador le carga puros ceros (0,NULL) :mrgreen:
hay se los dejo.
Saludos
-
Ok me respondo yo mismo :mrgreen:
Todas aquellas instrucciones que envian datos como son el Print, Serout, Rsout, Hserout, etc.
Al encontrar un NULL (0) estas dejan de enviar mas datos y continuan con la siguiente linea de codigo.
Asi por ejemplo si creamos el siguiente programa:
device 16f628
dim ST[20] as byte ' creo un array de 20 elementos ( del 0 al 19)
str ST = "hola amigos",0, "ok" ' Cargo el array con el mensaje que quiero enviar, con la
' terminacion NULL (0)
serout portb.0, 84, [str ST] ' envio los datos, en este caso solo se enviara,
' hola amigos, el "ok" no sera enviado.
stop
end
El mensaje que se enviara sera, hola amigos, el ok no se vera porque todo lo que este despues del 0, no sera tomado en cuenta.
El str de arriba podria ser sustituido por: strn ST = "hola amigos" .
Cualquier comentario al respecto sera bienvenido.
Saludos