TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: sota_de_bastos en 16 de Octubre de 2007, 04:34:19

Título: instruccion para manipular bits directamente desde hi tech picc
Publicado por: sota_de_bastos en 16 de Octubre de 2007, 04:34:19
hola, estoy cambiandome del ccs al hi-tech picc y me preguntaba si hay alguna instruccion  que me permita manejar bits directamente, es decir cambiar el valor de un pin y no dle puerto entero, como por ejemplo en c18: "PORTBbits.RB1=1"

saludos   :P
Título: Re: instruccion para manipular bits directamente desde hi tech picc
Publicado por: micro_cadaver en 16 de Octubre de 2007, 14:48:35
sip es: RB1 para el pin 1 del portb
aplicacion
RB1= 1;
RB2=0;

eso lo encuentras en el archivo include correspondiente al pic que estas usando.
Título: Re: instruccion para manipular bits directamente desde hi tech picc
Publicado por: dhmejia en 16 de Octubre de 2007, 14:51:01
En Hi-Tech es incluso mas facil que en CCS:

Para poner en 1 el bit 0 del puerto B:

Código: C
  1. RB0 = 1;

Recuerda que primero que todo debes incluir el archivo pic.h

Tambien se pueden asignar nombres a los bits para hacer mas comprensivo el codigo:

Código: C
  1. #define Salida RB0
  2. Salida = 1;

Saludos

edito: Se me adelanto en la respuesta micro_cadaver
Título: Re: instruccion para manipular bits directamente desde hi tech picc
Publicado por: MGLSOFT en 16 de Octubre de 2007, 16:41:06
En CCS escribes:
PIN_B0=True;

y tienes ese cometido.
Porque habria de ser mas facil en Hitech, solo que CCS ofrece mas formas de hacer lo mismo... :mrgreen: :mrgreen:
Título: Re: instruccion para manipular bits directamente desde hi tech picc
Publicado por: micro_cadaver en 16 de Octubre de 2007, 18:20:47
bueno doy mi opinion y digo que CCS es más fácil que HITECH, pero si nos interesara cual es el mejor pues la verdad que depende de la aplicación y el programador.

Título: Re: instruccion para manipular bits directamente desde hi tech picc
Publicado por: sota_de_bastos en 17 de Octubre de 2007, 14:28:43
sip es: RB1 para el pin 1 del portb
aplicacion
RB1= 1;
RB2=0;

eso lo encuentras en el archivo include correspondiente al pic que estas usando.

si, pero me refiero a si se puede acceder a los bits pero mediante la definicion del Registro no de la definiciona de bits. Más algo así como lo que se hace en c18 y en c30 cuando se hace PORTBbits.RB1. Esto es porque me parece que no están todos los bits definidos, es decir por ejemplo el para acceder al bit 5 del CCP1CON por ejemplo (que es un registro asociado al Capture Compare Module).

un saludo.
Título: Re: instruccion para manipular bits directamente desde hi tech picc
Publicado por: micro_cadaver en 17 de Octubre de 2007, 18:28:26
si esta todo en hitech, por ejemplo yo uso RP0 para referirme al bit 5 del registro STATUS, como te dije arriba busca la libreria *.h del pic que seleccionas.
Título: Re: instruccion para manipular bits directamente desde hi tech picc
Publicado por: sota_de_bastos en 18 de Octubre de 2007, 06:15:54
tienes razón están todos los bits, definidos. Pero de todas formas insisto:

hay o no hay una instruccion para acceder a los bits de un puerto pero refiriendonos al puerto y no al bit directamente?

me explico. Algo así como hacer PORTBbits.RB1 en C18/C30 o BTF PORTB,1 en asm.

un saludo.
Título: Re: instruccion para manipular bits directamente desde hi tech picc
Publicado por: micro_cadaver en 18 de Octubre de 2007, 09:07:35
ahhhhhhhhhh recien te entiendo

Algo así como hacer PORTBbits.RB1 en C18/C30 o BTF PORTB,1 en asm.

lo del c18 es uso de los bits especiales (RB1), por eso te decia lo mismo, en cambio lo del ASM eso si es otra cosa, fue cuestion de  q lo aclalaras mejor, ahora eso si es posible en uno de los post sobre hitech dieron esos tips dejame buscarlo mientras.
Título: Re: instruccion para manipular bits directamente desde hi tech picc
Publicado por: sota_de_bastos en 19 de Octubre de 2007, 04:53:46
pues si los encontraras sería genial. Yo he estado buscando en el foro de hitech pero nanai de la china, osea nada. Además sería muy útil para acceder directamente a los bits de un puerto como el ADRESL por ejemplo.

1 saludo.