TODOPIC
Microcontroladores PIC => - Niple - => Mensaje iniciado por: ramiroreal en 14 de Abril de 2009, 13:36:13
-
Buenas, estoy empezando en esto del Niple, la verdad que estoy muy contento, de momento no me ha dado ningun problema, y los pocos que me dio no son tampoco para pegarse un tiro.
a lo que voy, estoy trabajando con el PIC 18f84a, no puedo trabajar con otro, puesto que lo que estoy haciendo es mejorar un diseño ya hecho (en la medida que me deja el PIC, dentro de sus límites), lo que queria hacer era darle instrucciones a un pic desde un ordenador mediante lenguaje c# (trabajo con visual studio 2008), pero no se bien que debo programar en el pic para que este reciba el paquete enviado por rs-232. La logia del c# ya la tengo vista y no lo veo dificil, solo me falta escribir lo necesario para recibir lo que necesito en el niple.
Tal vez un bucle? o la instruccion de recibir cada vez que va a ejecutar una instruccion? que yo sepa no salta ninguna interrucpion (espero equivocarme porque seria mucho mas sencillo).
Bueno espero que alguien me pueda dar una mano con esto, desde ya muchisimas gracias a todos que me puedan ayudar.
-
Bueno me respondo a mi mismo por si a alguien le interesa, resulta que el 16f84a ni el 16f84 a secas pueden manejar una interrupcion, por lo que habria que estar siempre verificando que se recibe algun paquete rs232, lo cual impide darle mas funcionalidad al pic, la solución seria trabajar con otro pic, tengo entendido que al 16f877 le salta una interrupción cuando le llegua un paquete, la pena es que tengo que resideñar el soporte del pic y volver a poner guita para hacer una tarjeta nueva.
Aun asi agradeceria cualquier informacion/consejo/ejemplo o lo que sea que tengan de configuracion del niple con un micro y recepcion de paquetes al pc.
desde ya muchas gracias
-
pss si es mejor que utilices un micro que tenga modulo usart, porque con el 84A te toca hacer todo el protocolo, con un 877 es mucho mas facil porque este tiene su modulo usart y las banderas que te avisan si se envio el mensaje o si recibe un mensaje...entre otras ventajas
saludos
-
Hola,
En 16F84 puedes utilizar la interrupcion RB0 para detectar el inicio de la comunicacion RS232.
Debes configurar la inte RB0 para deteccion de flanco descendente e insertar el bloque de recepcion RS232 dentro de la interrupcion.
De esta manera no debes estar continuamente verificando el pin de recepcion para detectar el bit de inicio de la comunicacion RS232.
Esto funciona muy bien
De ultima, si prefieres cambiar el micro, puedes utilizar un 16F627 / 628 / 648 que son compatibles pin a pin con el 16F84 y tienen modulo USART asi no tienes que cambiar la placa.
Saludos
Jorge.