elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 [58] 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 ... 401
571  Programación / Programación C/C++ / Re: Puerto serie C++. Mejorar el programa. en: 20 Marzo 2017, 12:43 pm
El problema es la estructura del programa. Si te es más cómodo, hazlo en C#, y ya luego traduces.

De todos modos, trata de no usar handles. Maneja tú el flujo del programa. Sinó luego, al pasarlo a C++, va a ser más complicado.
572  Foros Generales / Foro Libre / Re: La tabla de Ouija en: 20 Marzo 2017, 01:38 am
Yo con mis amigos jugaba a las cartas, fútbol... Incluso hubo una época en la que se pusieron de moda los tazos de Pokémon, qué tiempos...

Ah, la Ouija... Sí, una vez la vi en una película de comedia. Había un exorcista (un timador) que la utilizaba para hacerle creer cosas a sus clientes. ¿Scary Movie 5? No sé si en esa usaban una ouija para el engaño, creo que ahí el timador robaba y punto xD
A ver si me acuerdo de la película :X
573  Programación / Programación C/C++ / Re: Puerto serie C++. Mejorar el programa. en: 19 Marzo 2017, 23:29 pm
O directamente, poniendole un "header" a los mensjaes:
Código:
~~ Arduino -> PC

<msg_type:1 byte>

(msg_type=1){
    ~~ Botón pulsado
    <datos:string>
}
(msg_type=2){
    ~~ Respuesta al PC
    <datos:string>
}
574  Programación / Programación C/C++ / Re: Puerto serie C++. Mejorar el programa. en: 19 Marzo 2017, 22:23 pm
Con hilos se complica un poco. Debes estar seguro de no recibir y emitir al mismo tiempo.

Pero si el arduino solo contesta a los comandos que recibe en el mismo case se emite el comando y se espera la respuesta.

Otra forma sería emulando la forma de trabajar de un PLC: se mira si hay algo de comunicación externa; se controlan las entradas; se calcula lo que se deba, se escriben las salidas; se escriben las comunicaciones externas.

Uy uy, que catastrofista  >:D
Realmente, utilizando GetAsyncKeyState() y 2 mutex (uno para la salida por consola y otro para el Serial), está sincronizado.
O al menos lo estaría si el protocolo PC-Arduino fuera más preciso, vaya. Porque como escriba el PC al Arduino y el Arduino al PC a la vez, el PC se tomará lo del Arduino como respuesta xD
575  Programación / Programación C/C++ / Re: Problema con reloj en: 19 Marzo 2017, 21:07 pm
Cuando tratas de leer entrada por la consola, el código se detiene a esperarla.

Tendrías que utilizar threads. Pero no te recomiendo ponerte con eso ahí (no vale la pena ese trabajo por el reloj). Yo de ti, trataba de evadir ese problema como puedas y proseguir.

La respuesta corta: no es algo "trivial".

Y como detalle, eso de llamar al main desde una función (o desde el propio main, vaya), deberías evitarlo. Puedes hacerlo, pero no es lo ideal.
576  Programación / Programación C/C++ / Re: leer y mostrar matriz en c++ ayuda! en: 19 Marzo 2017, 18:08 pm
Código
  1. cin>>matriz[j];
Fíjate que no está el [ i ]. Eso es porque es una etiqueta en el foro para poner cursiva.

Vuelve a pegar el código entre las etiquetas GeSHi para que se vea todo bien.

En cualaquier caso, en la línea 18:
Código
  1. for(j=0;i<*columnas;j++)

Querrías poner:

Código
  1. for(j=0;j<*columnas;j++)
(nótese la j en la condición j<*columnas.
577  Programación / Programación C/C++ / Re: leer y mostrar matriz en c++ ayuda! en: 19 Marzo 2017, 17:42 pm
Pon el código entre las etiquetas GeSHi que tienes arriba a la derecha a la hora de crear o editar el mensaje.
Código
  1. int n = x;

Sinó, hay cosas que no se ven bien.
578  Programación / Programación C/C++ / Re: Iniciar un proceso de forma pausada c++ en: 19 Marzo 2017, 17:30 pm
Los tipos de Windows que empiezan con P o con LP suelen sen punteros.
En cualquier caso: https://msdn.microsoft.com/en-us/library/windows/desktop/aa383751(v=vs.85).aspx

De todos modos, si no te gusta PHANDLE, puedes poner HANDLE*. La razón de que hayan puesto un HANDLE* en esa función es para poder devolver el HANDLE.
Código
  1. *hthread = pi.hThread;
579  Programación / Programación C/C++ / Re: Iniciar un proceso de forma pausada c++ en: 19 Marzo 2017, 15:53 pm
Los errores son claros:
Código:
'HANDLE Startpausedprocess(char *,PHANDLE)': cannot convert argument 2 from
'HANDLE' to 'PHANDLE'


'sprintf': This function or variable may be unsafe. Consider using sprintf_s
 instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.

Estás pasando un HANDLE a tu función, que recibe PHANDLE.

Y lo segundo, pues lo que dice. Puede no ser segura.
580  Programación / Programación C/C++ / Re: Puerto serie C++. Mejorar el programa. en: 19 Marzo 2017, 14:23 pm
El caso es que, este mismo código en C#, también dará problema. No es cosa del lenguaje, sinó de la lógica. Si tu switch va por el default, le estás obligando igualmente a leer datos del Arduino (que no tiene por qué haber).

Si lo que quieres es enviarle datos y leerlos a la vez, necesitarás threads.
Páginas: 1 ... 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 [58] 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 ... 401
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines