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


 


Tema destacado: Cifrar documentos-carpetas con GnuPG en Linux y Windows


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... 362
141  Programación / Programación C/C++ / Re: Puerto serie C++. Mejorar el programa. en: 27 Marzo 2017, 21:11
Aja...
Código
  1. void obtenerRespuestaArduino()
  2. {
  3. while (true)
  4. {
  5. int n = Puerto->ReadData(lectura, 49);
  6. if (n > 0) {
  7. lectura[n + 1] = '\0';
  8. break;
  9. }
  10. Sleep(1);
  11. }
  12. }

En C++, no se ponen funciones dentro de funciones.

Y bueno, la idea de esa función es que la modifiques para que retorne la respuesta del Arduino.
Pero bueno, como veas.
142  Programación / Programación C/C++ / Re: Ayuda para resolver el programa en: 27 Marzo 2017, 21:09
Esto seria correcto para obtener las posiciones cartesianas x e y de cada vertice del poligono en un plano?

alpha = 360 / cantidad de lados del poligono
radian = 180/PI 
xc + radio*cos(angulo/radian)
yc + radio*sin(angulo/radian)
angulo = angulo+alpha

Es correcto. Y aquí es donde entra la parte de programación. Tienes que sacar N vértices, no 1. Así que tendrás que hacer esas ecuaciones N veces (bucle for).

Código
  1. angulo = angulo+alpha;
Haces eso tras cada cálculo, y calculas el siguiente, sin más. Ya lo tienes.

Como detalle, las funciones cos() y sin() son de la librería <math.h>. A parte de eso, no deberías tener más problemas.
Haz el programa, y si te encuentras con algún otro problema, coméntalo y pasa el código.

Por cierto, los códigos ponlos en las etiquetas GeSHi (al hacer el mensaje, tienes arriba para colocarlas)
143  Programación / Programación C/C++ / Re: Puerto serie C++. Mejorar el programa. en: 26 Marzo 2017, 21:22
No veo la función creada.
144  Programación / Programación C/C++ / Re: Es posible renombrar una clave de registro? en: 26 Marzo 2017, 21:17
Probablemente.

También hay compiladores que permiten poner "main()" sin int ni void. Pero mejor no ponerlo.
145  Programación / Programación C/C++ / Re: Es posible renombrar una clave de registro? en: 26 Marzo 2017, 20:59
No, no hablo de esa. La externa es la de la DLL. La interna, la que cité, es la que en teoría utiliza esa DLL.

La razón para no usarla es la que pone en el link: https://msdn.microsoft.com/en-us/library/bb432200(v=vs.85).aspx

Citar
The functions and structures in Winternl.h are internal to the operating system and subject to change from one release of Windows to the next, and possibly even between service packs for each release. To maintain the compatibility of your application, you should use the equivalent public functions instead.
146  Programación / Programación C/C++ / Re: Puerto serie C++. Mejorar el programa. en: 26 Marzo 2017, 20:57
La función obtenerRespuestaArduino no existe... Tienes que hacerla tú.
En el otro mensaje te lo indiqué también.
147  Programación / Programación C/C++ / Re: Puerto serie C++. Mejorar el programa. en: 26 Marzo 2017, 19:55
Si sabes hacer el código, hazlo todo a la primera.
._.

Ya te he dicho qué hacer, pero ignoraste el mensaje.



En primer lugar, yo separaría estoa  una función:

Código
  1. while (true) {
  2. int n = Puerto->ReadData(lectura, 49);
  3. if (n > 0) {
  4. lectura[n + 1] = '\0';
  5. break;
  6. }
  7. Sleep(1);
  8. }
Una función que espere a que el Arduino envíe datos, y los retorne.

Lo de esperar datos solo lo vas a hacer si pulsan 1 o 2, así que llamas a esa función en cada case. Es cierto que los 2 case son idénticos salvo por la constante que envías. Podrías poner algo como:
Código
  1. const char *luz[2] = {"Luz_ON", "Luz_OFF"};
  2.  
  3. switch(opc){
  4.    case 1:
  5.    case 2:
  6.        cout << "Enviando: " << luz[opc-1] << endl;
  7.        Puerto->WriteData(luz[opc-1], strlen(luz[opc-1]));
  8.        cout << "Respuesta: " << obtenerRespuestaArduino() << endl;
  9.        break;
  10.  
  11.    default:
  12.        // ...
  13. }

De ese modo, solo esperará entrada del Arduino cuando sea necesario hacerlo. Al terminar el switch, puedes poner, si quieres, para leer datos del Arduino (sin esperar indefinidamente, eso sí, para que vuelva al inicio del bucle while y siga preguntando)

El problema es eso, el cómo está estructurado el código. Lo dicho: si tienes más experiencia en C#, puedes tratar de hacerlo ahí primero.
148  Foros Generales / Foro Libre / Re: El calor o La calor en el habla castellana en: 26 Marzo 2017, 19:31
Yo creo que
1.-con el Articulo Determinado: EL o LA, sería más correcto decir El calor ...o sea utilizar la forma masculina
2.-Si en cambio usas Articulo Indeterminado, ahí tengo más dudas, podría ser igual de correcto usar el género masculino o el femenino:  
Hace un calor de morirse
Hacía una calor que me derretí por la calle

Si usas masculino, siempre masculino. Si usas femenino, siempre femenino (salvo contados casos). Vamos, que salvo en contados casos, que "suene mejor", no es regla suficiente.
149  Programación / Programación C/C++ / Re: Puerto serie C++. Mejorar el programa. en: 26 Marzo 2017, 19:26
Una cosa es el DIE y otra el compilador. VC++ utiliza su compilador, Code::Blocks utilizará el que le hayas puesto, o con el que viene por defecto en algunas instalaciones (MinGW-GCC).

En cualquier caso, esa e suna forma muy inexacta de hacerlo. Después de enviar datos al arduino (caso 1 y 2), se supone que tienes que esperar la respuesta. Poner un sleep y luego leer 1 vez no es la forma ideal.

Trata de poner nuevamente el bucle while al leer del arduino (y nuevamente, solo lee del Arduino cuando le hayas enviado datos, no siempre).
150  Programación / Programación C/C++ / Re: Ayuda para resolver el programa en: 26 Marzo 2017, 18:35
~No se hacen tareas~

Empieza por obtener la ecuación para sacar los puntos.
Luego, solo es copiarla a C y agregar un par de formalidades de cualquier lenguaje de programación.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... 362
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines