Electrónica y Programación en Personal
«Si no se soluciona con un script en Python entonces no es viable»

por Yeison Cardona el 21 de febrero de 2012 a las 13:37 UTC
La utilidad está en duda, al menos que se quiera escribir en un puerto completo directamente, o se quiera usar el RunLED (presente en algunas boards), pero para usar con los pines individuales es verdaderamente innecesario.




RunLED

Hace algún tiempo en el Blog de Pinguino se publicó una entrada bajo el nombre de HOWTO use the run led !! en la cual explicaban como usar el RunLED.

Para las personas que hayan intentado compilar el ejemplo que allí comparten en el Pinguino IDE x.2, habrán notado que se genera un error.
La solución es sencilla, después de consultar en esta página y como dicen allí, la forma de modificar un registro, un bit a la vez es: .
es decir, usando por ejemplo el puerto A1:
TRISAbits.TRISA1 o PORTAbits.RA1

De estas dos formas, la segunda parece fallar (no se por qué?), pero con la primera, no hay ningún problema.

Entonces actualizando el código para implementar el RunLED en el Pinguino IDE x.2
//RunLED control

#define RunLed TRISAbits.TRISA4

void setup(){ 
 }

void loop(){
   RunLed=0;
   delay(150);
   RunLed=1;
   delay(150);
 } 
Escribir en un Puerto El siguiente contenido puede ser consultado desde la fuente original:
Blog: Electrónica Y Programación Entrada: http://micropinguino.blogspot.com/2011/06/leer-y-escribir-directamente-en-los.html
Se puede utilizar los registros de configuración de puertos para configurar los terminales de los puertos ya sea como entradas o salidas, en los PIC estos registros son los TRIS, donde un 0 representa una salida y un 1 una configuración como entrada.
Correspondencia entre puertos y terminales
Por ejemplo si quiero configurar los primeros 4 bits del puerto B como salida y los 4 últimos bits del puerto B como entradas hariamos lo siguiente
TRISB = 11110000  Binario
TRISB = 0xF0          Hexadecimal
TRISB = 240            Decimal

Para escribir los datos en el puerto utilizamos los registros PORT, como ejemplo si el puerto B esta configurado como salida y queremos colocarlo todo en alto, haríamos lo siguiente.
PORTB = 11111111  //Binario
PORTB = 0xFF      //Hexadecimal
PORTB = 255       //Decimal
Ejemplo:
//Julio Fabio De La Cruz 2011
//Escritura de datos en el registro PORTB
void setup(){
   //configuro puerto B como salida
   TRISB=0x00;
}
void loop(){
   //Coloco en alto todos los terminales del puerto B
   PORTB=0xFF;
   delay(1000);
   //Coloco en bajo todos los terminales del puerto B
   PORTB=0x00;
   delay(1000);
}





También podría interesarte:

Añadir un comentario:
Si desean una respuesta para su comentario sólo deben agregarme en G+ y hacer una mención a Yeison Cardona, así les podré responder lo antes posible.