TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado 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
-
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.
-
En Hi-Tech es incluso mas facil que en CCS:
Para poner en 1 el bit 0 del puerto B:
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:
#define Salida RB0
Salida = 1;
Saludos
edito: Se me adelanto en la respuesta micro_cadaver
-
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:
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.