Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Este hilo lo abro, porque no hay ninguno asi en el foro, y además de necesitar ayuda, pretendo resumir aqui lo que implica este tipo de conexión.
Materiales que nos hacen falta:
-Un pic, preferiblemente con USART, yo empleo un 16F876
-Un ordenador con puerto serie, o un adaptador USB Serie
-Max232 o 233 conectado del siguiente modo:
-Los componentes que necesitamos para hacer que todo esto funcione, especificados tb en el esquema.
Además de esto, para realizar la comunicación entre PC y PIC, debe haber un programa en el PC para comunicarse por RS232, y otro en el PIC para que haga lo mismo, cada uno de ellos en sus lenguajes.
En el PC lo más rápido para probar es usar el hyper terminal, que viene en todos los windows del mundo. Más adelante adaptaré un programa de Visión artificial para que pueda comunicarse con el PIC via RS232 y mandar ordenes a un par de servos.
En el PIC he elegido ensamblador, por costumbre. Peeero, aqui está mi problema, ¿cómo leches se configura el 16F876 para que haga esta comunicación? ¿Tenemos algun ejemplo básico de comunicación con este micro? Hay mucha información en internet, pero siempre de programas demasiado complicados para lo que tiene que ser, o muy mal explicados, o programas en los que se saltan la configuración...
en fin, que para seguir con mi proyecto necesito una ayuda de alguien que sepa cómo hacerlo, asi, además de desatascarme, conseguimos hacer un hilo aclarativo de este tipo de comunicación.
Muchas gracias por vuestra ayuda.
Ángel.
Dejo unos .HEX, a ver si este finde puedo escribir algo que se vea.
Son para el 16F876A con cristal de 20MHz
El primero (eco.hex) es solo eso, eco de todo lo que recibe por la linea serie. Pruebalo con el hyperterminal a 9800 baudios, 8 bits de datos, 1 bit de parada, sin paridad y sin control de flujo.
El segundo (serieB.hex) planta lo que le llega por el puerto serie en el Puerto B. Tal cual. Yo pongo 8 leds (freeleds) en el puerto para verlo bien. Entonces si pulsamos 5, llega 0x35 y en los leds vemos 00110101. Los parametros de configuración como antes.
Un saludo
gONzAO
Voy a probarlos ahora mismo, mil gracias gONzAO.
PD: Queridos administradores, al bajar el archivo que me ha dejado gONzAO, se me descarga con el nombre modules.php... lo cambio a .rar y listo, pero sospecho que no deberia ser asi, no?
Joderrrrrrrrrrrrrrrrrrrrrrrrrrrrr!!!
NO hay manera!!! no lo entiendo... al conectar el circuito con el Eco.hex en el hyperterminal dejo hasta de ver lo que escribo, no solo no me devuelve nada, sino que no leo lo que pongo yo... y si apago la fuente de la placa lo puedo leer perfectamente...
gONzAO, soy la persona mas inutil del mundo... tus programas no me tiran... los has probado tu? la configuracion, cristal y micro son correctos... no se que leches pasa... yo tengo hecho uno, parecido a tu SerieB.hex, y con ese me tira algo, pero al mandar una letra o lo que sea... recibo lo que le apetece... no siempre es lo que corresponde, y ademas, si la dejo pulsada se pone a mandar datos que no corresponden...
Na, de inutil nada.
Los he vuelto a comprobar y si van. A ver si vemos que ocurre.
En realidad si has usado el hyperterminal no debes ver lo que tu escribes, sólo lo que te mandan. Para que veas lo que tu pones debes hacer lo sigiuente:
Archivo->Propiedades->Configuración->Configuración ASCII...
y aquí señalas "Eco de los caracteres escritos localmente" o si tienes la version en inglés "Echo typed characters locally".
De esta forma deberías ver lo que escribes 2 veces, una por tu parte y otra por lo que te devuelven. Claro, todo esto caracter a caracter!
Por otro lado, has comprobado el cable? Tres hilos y cada uno en su sitio.
Y por ultimo el esquema, parece que ha habido un poco de lio con el max232. Yo siempre recurro a las hojas de caracteristicas:
http://datasheets.maxim-ic.com/en/ds/MAX220-MAX249.pdf
En la página 17 viene cómo conectarlo. Con cuidado en la polaridad de los condensadores es bastante sencillito.
Al micro le ponemos el cristal, los 2 Cond de 22pF, un cond de 100nF entre alim y masa y una resistecias de unos 10kOhm del pin 1 a Vcc para hacer con un cable desde el pin1 a masa Reset.
Bueno, ya se que parte de esto se ha contado antes, sólo queria hacer un repaso general para que lo siguieras despacito a ver si conseguimos que funcione.
Un saludo
gONzAO