Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Wenas.
Tengo un problemilla de conceptros, me gustaria saber la diferéncia entre:
#byte PORTB = 0x00000110
#byte TRISB = 0x10000110
El PORTB por lo que se, és el puerto que se utiliza, allí se le dan los valores de entrada/salida.
El TRISB pensaba que tenia la misma función.
Alguien me puede aclarar las diferencias entre esas dos funciones?
Saludos.
Wolfskin, Mira, Tris configura la dirección del puerto ,como entrada o como salida. y Port configura el estado o hace la lectura.
Con tris a 1 es una entrada por lo que si lees port leeras a que nivel se encuentra.
Con tris a 0 es una salida por lo que si escribes en port este pondrá el pin a ese nivel.
Wenas BoOpS.
Con TRISB = 0x10000110, configuro los pines del puerto B (Entradas/Salidas) y con PORTB accedo al puerto.
Es algo asi no? xD
En caso de estar en lo cierto, que sentido tiene poner:
#byte PORTB = 0x00000110
#byte TRISB = 0x10000110
Si el PORTB solo sirve para leer, para que declarar entradas y salidas tambien. Eso se hace en el TRISB no?
Saludos y muchas gracias ^^.
#byte es una directiva para el preprocesador de C para poder utilizar cosas como PORTB y TRISB como si fuesen variables.
Al hacer "#byte PORTB = 0b00000110" lo que estás es indicando al compilador que PORTB es una variable que debe almacenarse en la dirección 0b00000110. Es decir, en esa línea le indicas la dirección del registro, no su valor.
//programa de ejemplo
#byte PORTB=0x06
#byte TRISB=0x86
void main(){
int8 foo;
TRISB=0b11100001; //configura los pines 0, 5, 6 y 7 como entradas, y los pines 1, 2, 3 y 4 como salidas
while(1) {
foo=PORTB; //leemos el valor de PORTB
}
}
Por cierto, no te lies con los prefijos: 0x es para hexadecimal y 0b para binario, así que si pones 0x00000110 (que es lo que estabas poniendo) le estás indicando al compilador que "00000110" es un valor hexadecimal (y que, por cierto, es de 4 bytes, no de 1).
Si necesitas más ejemplos para programar en C con CCS para el Skypic (que me imagino que es lo que estás haciendo, como en la campus) mírate mi programa para el skypic.
Muchas gracias Uriellu.
Precisamente esas dudas me surigeron ya que al ver tu estilo de programación en la Campus, (que por cierto, me gusto mucho) me puse a hacerlo como tu :P. Basandome en el programa que tienes en tú pagina.
Por eso ahora estoy un poco liado utilizando el PORTB i el TRISB como si fueran variables xD.
Ahora ya me aclaraste 2 dudas que tenia.
Saludos!!!
P.D: Mira que soy tonto, eso ya me lo explicaste en la Campus.