none
Comunicacion con placa a traves del puerto serie RRS feed

  • Pregunta

  • H0la!!!
    La verdad es que estoy impresionado con este foro y con la claridad con la que solucionais cualquier tipo de duda, por ello escribo esperanzado a que me deis alguna solucion a mi problema.

    He diseñado una interfaz con Visual C++, esta interfaz tiene que comunicarse con una placa que hay diseñada, para consultar y/o modificar el valor de una serie de entradas y salidas digitales y analogicas que tiene.

    Hay definido un documento en el que se especifica el contenido de la trama a enviar a la placa para consultar/modificar entradas/salidas...

    Para empezar, quiero comprobar unicamente el estado de las entradas digitales. Para ello he pensado en enviar una serie de datos x puerto serie, del tipo signed char (byte) que corresponden al tipo de trama a enviar segun lo especificado para que la placa me devuelva que entradas digitales estan activas.

    Bien, me he definido una clase en donde voy a implementar todas mis funciones para comunicarme. He llamado a esta clase Comms. Por el momento tengo dos funciones definidas:

    - void peticionConsultaEntradasDigitales(); //En esta funcion creare un array de datos tipo byte, inicializare cada dato al valor deseado segun la especificacion y lo mandare por puerto serie.

    - signed char[] consultaEntradasDigitales(); //En esta funcion, se pretende leer lo que me devuelva la placa por el puerto serie, y devolverlo en un array de datos tipo byte.

    Los problemas con los que me encuentro son los siguientes:
    - Cuando en el formulario dnd he diseñado el panel con los indicadores de actividad de las entradas digitales, quiero llamar a estas funciones, me dice que estas deben de ser estaticas en la clase de comunicaciones¿?. Bueno, en principio lo he resuelto declarandolas estaticas como me dice.
    - El compilador no me deja devolver el tipo de datos signed char[] : ¿Por que ocurre esto? Puedo definirla como tipo de dato en el cuerpo de la funcion, pero no en el prototipo???????
    - Por ultimo, y esto es algo que no se hacer, me gustaria que en la clase Comms que he creado, pueda interactuar con el puerto serie, pero no se como puedo hacerlo, puesto que no es en esta clase dnd esta definido el puerto serie, sino en el formulario donde estan los indicadores de actividad de las entradas analogicas.

    Bueno, espero que me haya aclarado lo maximo posible, y espero con ilusion vuestras respuestas, puesto que significaria muchiisimo para mi.

    Muchas gracias de antemano, y un cordial saludo!!!

    miércoles, 25 de noviembre de 2009 11:20

Todas las respuestas

  • Hola Marodal,

    Despues de algun que otro correo intercambiado a traves del Blog, si te parece bien y para que sea util al resto de personas que siguen este foro, tendrias a bien contarnos brevemente si pudiste y como solucionaste dicha dificultat. Creo que puede ser muy interesante.

    Muchisimas gracias,
    Pep Lluis,
    MVP - Visual Developer
    lunes, 30 de noviembre de 2009 7:59
    Moderador
  • Pues este post sigue en cierto modo abierto, puesto que no he conseguido aun solucionar muchos de los problemas que tenia.
    La creacion de la libreria comms la he pospuesto, y he implementado toda la programacion relativa a la comunicación por el puerto serie en los mismos ficheros *.h y *.cpp de los formularios de visual c++.
    Sin embargo, en un futuro, voy a tener que ordenar el codigo creandome la clase de comunicaciones de la que he hablado.

    Cuando vaya obteniendo resultados, no dudeis que los posteare en el foro.
    Un saludo a todos!
    martes, 1 de diciembre de 2009 12:03
  • Hola:

    Puedes mirar este manual a ver si enceuntras el problema.

    Ver manual.

    Saludo.
    viernes, 4 de diciembre de 2009 18:42