TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: shatfiel en 19 de Noviembre de 2008, 20:32:39
-
Hola a todos..
Por favor tengo un problema que ya me tiene al borde del colapso.... :shock:, necesito que alguine me diga si o que estoy haciendo esta bien.
Tengo un programa en Pic Ccompiler para envio de datos a traves del puerto RS232 el programa es el siguiente:
printf("SNS1= %2.1f\n\r\", sensor_axila); // Envío la temperatura del sensor pie por RS232 al PC
printf("SNS2= %2.1f\n\r\", sensor_pie); // Envío la temperatura del sensor pie por RS232 al PC
Y estoy tratando de leerlo por visual basic de esta menera:
If MSComm1.CommEvent = comEvReceive Then
ReciveString = MSComm1.Input + ReciveString
tx.Text = ReciveString
lstChar = Left(ReciveString, 1)
If lstChar = "S" Then CutString = Left(ReciveString, 10)
'=====================================================================
' SENSORES DE PACIENTE
'=====================================================================
'Sensor Axila
If Left(CutString, 4) = "SNS1" Then
Sns1Value = Val(Right(CutString, 5))
End If
SnsInicial1.Text = Sns1Value
'Sensor Pies
If Left(CutString, 4) = "SNS2" Then
Sns2Value = Val(Right(CutString, 5))
End If
SnsInicial2.Text = Sns2Value
End If
No se que es lo que estoy haciendo mal pero cualquier ayuda sugerencia, cualquier cosa es bienvenida.
Pd. No se si se pueda enviar los datos en forma horizontal, ya que me estan llegando de manera vertical (uno denbajo del otro).
-
Saludos shatfiel, bienvenido al foro!
Y cuál es el problema? Porque no veo que especifiques nada a excepción de lo que dices en la posdata... si envía los datos, entonces qué es lo que anda mal? Los recibes uno debajo del otro porque estás enviando "\n" y "\r", eso es salto de línea y retorno de carro, respectivamente... si quieres que los datos te lleguen seguidos, sin el salto ni retorno de línea, omite el \n\r y quedaría así:
printf("SNS1= %2.1f", sensor_axila
); // Envío la temperatura del sensor pie por RS232 al PC printf("SNS2= %2.1f", sensor_pie
); // Envío la temperatura del sensor pie por RS232 al PC
Cualquier cosa te sugeriría que veas los datos por el hyperterminal para estar seguro de cómo está enviando los datos el micro.
Ok nos leemos! :mrgreen:
-
Hola
Yo solo encontré algo raro...
printf("SNS1= %2.1f\n\r\", sensor_axila); // Envío la temperatura del sensor pie por RS232 al PC
printf("SNS2= %2.1f\n\r\", sensor_pie); // Envío la temperatura del sensor pie por RS232 al PC
Poniendo \ después de \r provocaría uno de dos errores:
- El compilador falla al querer interpretar el \ de sobra y no compila el programa
- El compilador malinterpreta el \ y compila un programa pero con errores
-
Gracias javier por tu ayuda..... Pero eso ya lo hice y me aparece en el hiperterminal lo siguiente:
SNS1 = 25.1SNS2=32.6SNS1 = 25.1SNS2=32.6SNS1 = 25.1SNS2=32.6SNS1 = 25.1SNS2=32.6......
es decir me sale todo seguido, sin separacion de nada...... y el programa en visual igual no funciona...
-
Qué tal!
Jeje pues claro, si lo colocas como te dije debe salir todo pegado, eso no es lo que querías? Eso fue lo que entendí cuando dijiste:
Pd. No se si se pueda enviar los datos en forma horizontal, ya que me estan llegando de manera vertical (uno denbajo del otro).
Pero lo cierto es que sí se están enviando los datos correctamente a la PC, el problema está en el programa que tienes en la PC para manejar esos datos. Creo que es más conveniente que muevas este tema al subforo "Programación en Visual Basic"... allí te pueden dar mejor ayuda.
Un cordial saludo, nos leemos! :mrgreen: