TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: oshow en 08 de Abril de 2004, 03:24:00

Título: QUe tipo de dato es byte? (ojo, no como directiva!!)
Publicado por: oshow en 08 de Abril de 2004, 03:24:00
Hola a todos.

Me asalta una duda que no consigo resolver y sobre la cual apenas he encontrado información, a ver si me podeis ayudar.

Mi pregunta es.. que tipo de dato es byte?, ya se que me direis que como directiva, se utiliza para asignar una direccion de memoria a una variable, pero es que la he visto como variable.

En el ejmplo que viene con el ccs (EX_SRAM.c) define tres variables de tipo byte, y por mas que he mirado en el manual, no dice cuanto ocupa esa variable, es mas, ni siquiera sale como variable, como comentaba antes, sale como directiva, y en algun ejemplo dentro de alguna estructura, pero no comenta nada sobre ella.

Sabeis algo al respecto?.
Cuando se utiliza como directiva es para variables de 8 bits, la deberia tomar como un int8?


Esto lo vi por primera vez en un ejemplo para el reloj pcf8583, donde habia varias funciones para escribir en el reloj, donde le pasaban parametros de tipo byte.

A ver si me podeis echar un cable

Si no teneis el ejemplo me lo decis y lo pego.

PD:por cierto si teneis algun ejemplo para ese reloj o algun driver, me podriais decir de donde lo conseguisteis, estoy muy interesado.


Saludos
Título: RE: QUe tipo de dato es byte? (ojo, no como directiva!!)
Publicado por: pocher en 08 de Abril de 2004, 04:12:00
La variable byte está definida como int en el include correspondiente (por ejemplo 16F877.h)

Un saludo
Título: RE: QUe tipo de dato es byte? (ojo, no como directiva!!)
Publicado por: oshow en 08 de Abril de 2004, 04:19:00
Jo!!!!, pues si, viene definida como int, menuda pijada, a veces te atascas y..... no hay manera.......

Como se suele decir se tiene la solucion delante de las narices y uno no la ve.

Gracias por la info y la rapidez, Pocher eres un "crack"

Por ultimo y sin querer abusar... no tendras un ejemplo sobre ese reloj no?

Saludos.
Título: RE: QUe tipo de dato es byte? (ojo, no como directiva!!)
Publicado por: pocher en 08 de Abril de 2004, 04:30:00
Sí tengo uno, pero je, je está en ensamblador.
Título: RE: QUe tipo de dato es byte? (ojo, no como directiva!!)
Publicado por: oshow en 08 de Abril de 2004, 05:50:00
Bueno, gracias pero dejalo, uno cuando se ha pasado al comodo C, volver a ensmblador cuesta un poco, jeje.

Si eso, intentare hacer el driver para el dichoso reloj, no se cuanto tardaré, pero en cuanto lo acabe ya os lo posteo por aqui....

Saludos.
Título: RE: QUe tipo de dato es byte? (ojo, no como directiva!!)
Publicado por: Ginho_rj en 17 de Abril de 2004, 17:51:00
A DIRETIVA #BYTE SERVE PARA FACILITAR A PROGAMAÇÃO :

#BYTE IDENTIFICADOR=X;

ONDE IDENTIFICADOR É UMA VARIAVEL E X É O ENDEREÇO QUE ELA OCUPARA  ASSIM PARA SIMBOLIZARMOS UM CONJUNTO DE OITO LEDS NA SAIDA DO PORTA   COLOCAMOS:

#BYTE LEDS=0X05;
E PARA ACENDER OU APAGAR UM DOS LEDS:

LEDS.0=0;  OU
LEDS.0=1;


MAS COM CERTEZA SERIA MAIS FACIL UTILIZAR A DIRETIVA BIT:


#BIT LEDS=0X05.0


LED=0;  OU

LED=1;


ESTE EXEMPLO SERVE PARA UMA RAPIDEZ NAS PORTAS

Título: RE: QUe tipo de dato es byte? (ojo, no como directiva!!)
Publicado por: oshow en 18 de Abril de 2004, 10:31:00
Gracias por la respuesta pero me referia al uso de byte como tipo de dato y no como directiva, aun así gracias por responder.

Saludos desde España.
Título: RE: QUe tipo de dato es byte? (ojo, no como directiva!!)
Publicado por: Ginho_rj en 18 de Abril de 2004, 12:51:00
desculpe não tinha visto o nome do topico,mas respondendo:

int ,int8 e byte são tipos de variaveis de 8 bits (0 a 255)

entao no exemplo :

BYTE value,cmd;
   BYTE address;


value ,cmd e address são variaveis de 8 bits ,espero ter respondido!


Jorge
Título: RE: QUe tipo de dato es byte? (ojo, no como directiva!!)
Publicado por: CDT_Gonzalo en 22 de Abril de 2004, 10:45:00
Escrito originalmente por oshow
Hola a todos.

Me asalta una duda que no consigo resolver y sobre la cual apenas he encontrado información, a ver si me podeis ayudar.

Mi pregunta es.. que tipo de dato es byte?, ya se que me direis que como directiva, se utiliza para asignar una direccion de memoria a una variable, pero es que la he visto como variable.

En el ejmplo que viene con el ccs (EX_SRAM.c) define tres variables de tipo byte, y por mas que he mirado en el manual, no dice cuanto ocupa esa variable, es mas, ni siquiera sale como variable, como comentaba antes, sale como directiva, y en algun ejemplo dentro de alguna estructura, pero no comenta nada sobre ella.

Sabeis algo al respecto?.
Cuando se utiliza como directiva es para variables de 8 bits, la deberia tomar como un int8?


Esto lo vi por primera vez en un ejemplo para el reloj pcf8583, donde habia varias funciones para escribir en el reloj, donde le pasaban parametros de tipo byte.

A ver si me podeis echar un cable

Si no teneis el ejemplo me lo decis y lo pego.

PD:por cierto si teneis algun ejemplo para ese reloj o algun driver, me podriais decir de donde lo conseguisteis, estoy muy interesado.


Saludos


figurate byte como un "typedef int byte", o como un "unsigned char" en C para PCs

ocupa 8bits, ademas estan int1(o short) que es muy util para flags (true o false), int16 para numeros extensos (vendria a ser int en C para PCs) e int32

saludos
Título: RE: QUe tipo de dato es byte? (ojo, no como directiva!!)
Publicado por: CDT_Gonzalo en 22 de Abril de 2004, 10:46:00
Escrito originalmente por oshow
Gracias por la respuesta pero me referia al uso de byte como tipo de dato y no como directiva, aun así gracias por responder.

Saludos desde España.


un numero, es eso lo que necesitas? :S perdon, no entiendo la pregunta
Título: RE: QUe tipo de dato es byte? (ojo, no como directiva!!)
Publicado por: oshow en 22 de Abril de 2004, 14:41:00
Gracias a todos por responder, la pregunta que formulé, está totalmente resuelta.

El tipo de dato byte por el que preguntaba está definido en el header correspondiente a cada micro y es un entero, nada mas que decir, sólo daros las gracias por vuestras respuestas.


Saludos.