Leer/escribir puerto serie!!
Hola a todos,
Bueno mi problema es el siguiente: -tengo un proyecto entre manos de control de un pequeño robot, con un micro 8051, el cual dispone de unos sensores de ultrasonidos con los que se guarda la información de la proximidad/legania en que se encuentra de una pared. Este robot esta directamente conectado con un transeiver (emisor/receptor) el cual esta conectado al puerto serie del PC. Por lo tanto, el transeiver manda una cadena de datos al puerto serie del PC. Lo que quiero es leer estos datos y escribir otros desde el PC hacia el robot, es decir leer/escribir sobre el puerto serie, me he estado informando un poco y he visto que se puede hacer con el xcommdrv32 de Delphi, pero no consigo entender su funcionamiento. Alguien me podria ayudar? GRACIAS |
Si buscas en Torry hay bastantes componentes para trabajar con el puerto Serie. Seguramente similares al que comentas. Lo que te puede ser útil, es que muchos de estos componentes vienen con demos en las que puedes ver cómo confugurar, leer y escribir por el puero serie.
|
Si si, se de la existencia de los componentes en Torry, pero mi problema es que no se como funcionan dichos componentes. Si alguien me puede ayudar con un ejemplo con el xcomdrv32 se lo agradeceria.
|
Bueno te comentaba que miraras las demos que vienen con ellos, por que el funcionamiento es bastante básico. Viendo el código de alguno de esos ejemplos dberías poder hacerlo tú mismo sin problemas.
Una vez configurado el puerto con los parámetros correctos, basta leer/escribir los caracteres que necesites. |
Hola,
si bueno el problema es que tengo que usar el xcomdrv y el "ejemplo" k se usa esta mal, ya que faltan librerias.... |
Cita:
Y es bien explícito, tenes los stops bits, los baudios (velocidad de transmisión), la paridad, el puerto COM, completo, y lo mejor es que es Event Driven... Saludos. |
Muchas gracias pero lo siento por seguir siendo un poco pesado, pero sigo sin saber muy bien como va sin un ejemplo, sabeis de algun ejemplo con el componente TCiaComPort? GRACIAS y lo siento...
|
¿Puedes poner alguna referencia a ese componente?
¿Exactamente cual es el problema? ¿No sabes configurarlo? ¿Utilizarlo? ¿Tienes algo? ¿Te da error? ... |
Es un transeiver RF650 que se comunica con otro transeiver RF650 y mandan la informacion con un microcontrolador ATM89C5131A del tipo 8051. El problema que tengo es que no se como configurar el envio y recepcion de datos entre el PC el Transeiver i el micro.
|
Si te soy sincero, esta explicación me ha sonado a que "se ha estropeado el condensadior de fluzo" :o:o
Se me escapa. Lo que sí te puedo decir, es que para conectarte con el ordenador via puerto COM, lo primero que debes tener claro los parámetros de la conexión. Con esos parámetros podrás/deberás configurar el componente que estás utilizando para la comunicación. Conoces los parámetros de:
|
Hola si si, tengo claros los parametros, 9600 Baudios, 8 bits, sin bit de paridad, etc....en un principio yo le doy estos valores a mi componente pero no se como una vez tiene esos componentes conektarlo. Si quieres te mando el programa para que veas a que me refiero
|
Cita:
A veces puedes consultar alguno de los eventos del componente, para ver si se ha conectado bien, o alguna propiedad. ¿Posee procedimientos/propiedades como: Connect, Connected, Active, Open,..? |
Pues si, al fin he conseguido conectar mi aplicación con el microcontrolador aunque no se porque hay algun tipo de error de lectura de datos, porque tengo un programa en el micro que simplemente vuelva a mandar lo que ha recibido, es decir, si mando un 1 con delphi, que reciba otro 1 y se muestre por pantalla, pero me salen signos raros y repetidos. alguien sabe como solucionar esto?
|
Cita:
|
Si si..esta revisado al 100% la conexion y en un principio esta bien, para Delphi con el componente ComPort 9600 Baudios, 1 bit de stop, ninguno de paridas 8 biteSize, para C TH1 y TL1 = 0xFD (timer en modo 2) uhm...etc etc...en teoria esta todo bien!
|
A ver cómo estás leyendo los caracteres; A veces llegan codificados con 7 / 8 bits.
|
En un principio los leo con 8 bits + 1 bit de stop i sin paridad...puede ser que sea por la velocidad (baudios?) lo digo porque si modifico en el programa en C los baudios a 4800, por ejemplo, me dan otros caràcteres pero tambien sin sentido.
|
La franja horaria es GMT +2. Ahora son las 17:44:47. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi