TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: underwol2 en 23 de Marzo de 2010, 16:24:43
-
hola
estoy intentando hacer que funcione un led intermitente en rb0 y enviar datos por pantalla lcd etenidos fallos cuando el código led intermitente con el código del lcd ambos funcionan independientemente pero al unirlos los dos códigos meda error con la linea de código
lcd.init();
al modificar el código se paso el error a
lcd_putc
en fin el asunto es como ago para utilizar varias funciones como el ejemplo en el pic
el ejemplo estoy utilizando pic 16f84a elaborado con picwizar y también código escrito manualmente
#include "C:\proyectos\lcd\lcd.h"
#define LCD_ENABLE_PIN PIN_A2
#define LCD_RS_PIN PIN_A0
#define LCD_RW_PIN PIN_A1
#define LCD_TYPE 1
#include <lcd.c>
void configuration()
{
lcd_init();
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
}
void intermitente()
{
while(1)
{
output_high(pin_b0);
delay_ms(1000);
output_low(pin_b0);
delay_ms(1000);
}
}
void pantalla()
{
lcd_putc("\fhola");
}
void main()
{
configuration();
intermitente();
pantalla();
}
-
Si habilitas intermitente(), y como esta tiene un while(1), nunca sale de esa función. Elimina el while de la función, y coloca dentro de un while las siguiente funciones en el main:
while(1){
intermitente();
pantalla();
}
-
hola suky
gracias por la respuesta lla no meda error al compilar pero tengo otro fallo
el lcd y led están actuado como intermitentes como un on off enciende el lcd y se apaga el led y así sucesivamente :-/
-
Como? :shock: jeje! El PIN RB0 lo utiliza el LCD?
-
suky
al comienzo están definidos los pines que utiliza el lcd no me a dado fallos en los pines definidos en las pruebas que e echo así que el pin RB0 queda libre
-
Suky se refiere a donde estan conectados los bits de datos del lcd...
-
RS pin RA0
RW pin RA1
enable (E) pin RA2
D4 pin RB4
D5 pin RB5
D6 pin RB6
D7 pin RB7
configuración 4 bit
con estas configuración ya se pueden enviar datos al lcd
-
Parece estar bien...
-
Revisa si en la libreria de la lcd, la estructura esta ocupando todo el puerto b. Si es así, hay que modificar el valor de escritura y el de lectura para liberar el pin.
Saludos
-
Le colocaste una resistencia limitadora a led?
-
tiene resistencia limitadora la libreria de finiendo enable,rw,rs alos puertos de a0 hasta a2 dejando libre rb0,rb2,rb3 los demas se usan para la pantalla lcd