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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Me pueden ayudar a convertir este codigo C++ a C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Me pueden ayudar a convertir este codigo C++ a C  (Leído 3,418 veces)
aguss33

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Me pueden ayudar a convertir este codigo C++ a C
« en: 13 Enero 2017, 00:57 am »

Buenas noches, como estan ? Miren necesito que alguien me ayude en la conversion del codigo C++  a C porque estoy haciendo una interfaz labView Arduino y quiero a aplicar lo que es el case node que utiliza programacion C. Si pudieran me gustaria que si me ayudan en esto igual no quiero todo el codigo solo de get_corriente en adelante. Saludos.

Citar
void setup() {
  
  Serial.begin(9600);
  analogReference(INTERNAL);
  //analogReference(INTERNAL1V1); //solo Arduino Mega
}

void loop() {
  
  float Irms=get_corriente(); //Corriente eficaz (A)
  float P=Irms*220.0; // P=IV (Watts)

  Serial.print("Irms: ");
  Serial.print(Irms,3);
  Serial.print("A, Potencia: ");
  Serial.print(P,3); 
  Serial.println("W");
  //delay(100);     
}

float get_corriente()
{
  float voltajeSensor;
  float corriente=0;
  float Sumatoria=0;
  long tiempo=millis();
  int N=0;
  while(millis()-tiempo<500)//Duración 0.5 segundos(Aprox. 30 ciclos de 60Hz)
  { 
    voltajeSensor = analogRead(A0) * (1.1 / 1023.0);////voltaje del sensor
    corriente=voltajeSensor*(100/1.1); //corriente=VoltajeSensor*(30A/1V)
    Sumatoria=Sumatoria+sq(corriente);//Sumatoria de Cuadrados
    N=N+1;
    delay(1);
  }
  Sumatoria=Sumatoria*2;//Para compensar los cuadrados de los semiciclos negativos.
  corriente=sqrt((Sumatoria)/N); //ecuación del RMS
  return(corriente);
}



En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Me pueden ayudar a convertir este codigo C++ a C
« Respuesta #1 en: 13 Enero 2017, 00:59 am »

eso no es C++, eso es arduino que es más parecido a java que otra cosa...

teoricamente y si tienes las funciones predefinidas, de get_corriente en adelante es 100% compatible con C


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Me pueden ayudar a convertir este codigo C++ a C
« Respuesta #2 en: 13 Enero 2017, 14:24 pm »

Incluye las librerías "windows.h", "math.h" y "time.h".
Cambia "delay" por "Sleep" y millis por "clock".
"sq(corriente)" cambialo por "corriente*corriente".
AnalogRead, pues deende de dónde quieras leer.

El resto, es lo mismo. Arduino es C++, pero esa fuinción no utiliza nada especial de C++.
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Me pueden ayudar a convertir este codigo C++ a C
« Respuesta #3 en: 13 Enero 2017, 15:31 pm »

Si quieres hacer el trabajo que hace el arduino con labview, entiendo que lo vas a emular, te digo que hagas una secuencia y trabajes con los bloques de labview.
En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: Me pueden ayudar a convertir este codigo C++ a C
« Respuesta #4 en: 16 Enero 2017, 09:00 am »

eso no es C++, eso es arduino que es más parecido a java que otra cosa...

teoricamente y si tienes las funciones predefinidas, de get_corriente en adelante es 100% compatible con C

En realidad, si que es C++. Usa un compilador en C++. He aquí el código que se incluye (el cual incluye la función main).

Código
  1. #include <Arduino.h>
  2.  
  3. int atexit(void (* /*func*/ )()) { return 0; }
  4.  
  5. void initVariant() __attribute__((weak));
  6. void initVariant() { }
  7.  
  8. void setupUSB() __attribute__((weak));
  9. void setupUSB() { }
  10.  
  11. int main(void)
  12. {
  13. init();
  14.  
  15. initVariant();
  16.  
  17. #if defined(USBCON)
  18. USBDevice.attach();
  19. #endif
  20.  
  21. setup();
  22.  
  23. for (;;) {
  24. loop();
  25. if (serialEventRun) serialEventRun();
  26. }
  27.  
  28. return 0;
  29. }
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines