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


 


Tema destacado: Sigue las noticias más importantes de elhacker.net en ttwitter!


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Puerto serie C++. Mejorar el programa.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 3 4 5 6 7 [8] Ir Abajo Respuesta Imprimir
Autor Tema: Puerto serie C++. Mejorar el programa.  (Leído 3,971 veces)
ivancea96


Desconectado Desconectado

Mensajes: 3.215


ASMático


Ver Perfil WWW
Re: Puerto serie C++. Mejorar el programa.
« Respuesta #70 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.


En línea

Meta


Desconectado Desconectado

Mensajes: 2.968



Ver Perfil WWW
Re: Puerto serie C++. Mejorar el programa.
« Respuesta #71 en: 27 Marzo 2017, 21:20 »

No se como se hace, en C++ ni idea, me he vuelto loco. Ahora estoy intentando como funciona en CODE::BLOCKS, luego lo paso a C++ Bulder Starter y te cuento.


En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
ivancea96


Desconectado Desconectado

Mensajes: 3.215


ASMático


Ver Perfil WWW
Re: Puerto serie C++. Mejorar el programa.
« Respuesta #72 en: 27 Marzo 2017, 21:28 »

Pues, por eso te digo. Hazlo en C# sin eventos/handles. Luego pasarlo es casi directo.
En línea

Meta


Desconectado Desconectado

Mensajes: 2.968



Ver Perfil WWW
Re: Puerto serie C++. Mejorar el programa.
« Respuesta #73 en: 27 Marzo 2017, 22:10 »

Hola:

Ya me funciona en Visual Studio 2017, Code::Blocks y C++ Builder Started. ;)

Era la librería que lo tenía 9600 buadios en el Code:Blocks y demás. ;)

El código y librería es el mismo.
Código
  1. #include <iostream>
  2. #include <fstream>
  3. #include <Windows.h>
  4. #include "SerialClass.h"
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9. // Título de la ventana
  10. SetConsoleTitle("Control Led Arduino - Visual Studio C++ 2017");
  11.  
  12. // Puerto serie.
  13. Serial* Puerto = new Serial("COM4");
  14.  
  15. // Comandos para Arduino.
  16. char Luz_ON[] = "Luz_ON"; // Envía "Luz_ON" al puerto serie.
  17. char Luz_OFF[] = "Luz_OFF";
  18. char lectura[50] = "\0"; // Guardan datos de entrada del puerto.
  19.  
  20. int opc; // Guarda un 1 o 2 tipo entero queintroduces desde la consola.
  21.  
  22. while (Puerto->IsConnected())
  23. {
  24. cout << endl; // Dejamos un retorno.
  25. cout << "Introduzca la opcion deseada: " << endl << endl; // Muestra texto en pantalla.
  26.  
  27. cin >> opc; // Aquí introduces un número, el 1 o el 2.
  28.  
  29. switch (opc) // Espera recibir un 1 o un 2.
  30. {
  31. case 1:
  32. // Encener luz.
  33. cout << "Enviando: " << Luz_ON << endl; // Muestra en pantalla textos.
  34. Puerto->WriteData(Luz_ON, sizeof(Luz_ON) - 1); // Envía al puerto el texto "Luz_ON".
  35. break;
  36.  
  37. case 2:
  38. // Apagar luz.
  39. cout << "Enviando: " << Luz_OFF << endl;
  40. Puerto->WriteData(Luz_OFF, sizeof(Luz_OFF) - 1);
  41. break;
  42.  
  43. default: // Si haz pulsado otro número distinto del 1 y 2, muestra
  44. cout << "Puse del 1 al 2."; // este mensaje.
  45. }
  46.  
  47.  
  48. Sleep(250);
  49. int n = Puerto->ReadData(lectura, 49);
  50. if (n > 0)
  51. {
  52. lectura[n + 1] = '\0';
  53. cout << "Recibido: " << lectura << endl;
  54. cout << "-------------------" << endl;
  55. }
  56.  
  57. cin.ignore(256, '\n'); // Limpiar buffer del teclado.
  58. }
  59. }

Quité el void main() y le puse en int a todos. El void solo funciona en el Visual studio y C++ Builder, en Code.blocks, solo int. Esto para saber.

Gracias por todo.
En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
Meta


Desconectado Desconectado

Mensajes: 2.968



Ver Perfil WWW
Re: Puerto serie C++. Mejorar el programa.
« Respuesta #74 en: 31 Marzo 2017, 02:31 »

Hola:

Tutorial ya hecho, como me agotó solo hacer la maquetación y diseño que el propio contenido.

Ver tutorial.

Saludos.
En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
Páginas: 1 2 3 4 5 6 7 [8] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ejercicio del puerto SERIE
Electrónica
renga73 1 939 Último mensaje 17 Julio 2006, 07:46
por D1e6o!
Puerto serie con C#
.NET
Meta 0 6,606 Último mensaje 6 Agosto 2008, 18:43
por Meta
puerto serie
Programación General
zairillo 2 1,585 Último mensaje 10 Septiembre 2008, 09:49
por zairillo
DLL y puerto serie.
Programación General
piwi 3 5,094 Último mensaje 27 Diciembre 2009, 15:45
por Meta
Puerto serie con F#
.NET
Meta 4 893 Último mensaje 9 Diciembre 2015, 10:39
por Meta
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines