

)=lectura" aqui automaticamente según varia canal se iran acomodando.
?(solo son numerosno creo, pero por si)
, pero esa es la idea.
y no me acuerdo del nombre del evento... algo como on_mscomm o algo así... 

)
a ver si también disparan el OnComm. De todas maneras cambiando el RThreshold puede pasar que se dispare a una cantidad determinada de caracteres que puede no ser bueno tampoco (o si).

) = lectura
Escrito originalmente por JeanPaul1Holaaaaa a todos,soy nuevo acá y leyendo los correos que han enviado veo que es un lugar confiable para resolver todas las dudas,espero tambien yo ayudarles también.Lo que quiero hacer es enviar datos de la PC por el puerto serial hacia un PIC(16F877) y también otro programa de enviar datos desde el PIC hacia la PC por el puerto COM en Visual Basic pero en entorno grafico. Además también necesito el hardware necesario para el primer caso.Les agradezco por su ayuda.Si alguien conoce alguna pagina buena se los agracdecería,es urgente,byeeeeeee
Escrito originalmente por IngLAOFX
Hola hhpp Pues, segun lo que vi en tu programa, RTSHold esta puesto a 1, si bien recuerdo, creo que eso es para que se dispare el evento cada vez que recibes un byte en el buffer.
Escrito originalmente por hhpp
Hola amigos, que pasaria si yo recibo los datos continuamento como los separo, sigue el mismo formato, pero ahora es continuamento como separa los datos para que se vayan a sus respectivos lugares.
HP.}
hola, yo tengo el mismo problema de que debo enviar valores en hexadecimales a un pic por el puerto serial, esos valores no se ingresan por ningun textbox, son constantes que estan almacenadas en el programa, mi pregunta es si definitivamente "No" se pueden enviar datos en hexa por el puerto serial
o si?
...
Escrito originalmente por todopic
Hola, con este programita, pueden comunicar y recibir por el puerto serie de la PC, es un comienzo, y pueden adaptarlo a sus necesidades.... funciona OK!!!
Private Sub cmdAceptar_Click()
Flag = 0
frmPrincipal.MSComm1.Output = Chr$(&H2E) 'Caracter sincronismo
Temporizacion 'Intento de función delay
frmPrincipal.MSComm1.Output = Chr$(&HA) 'Modo Algoritomo PY0
Temporizacion
frmPrincipal.MSComm1.Output = Chr$(&HB) 'Modo Algoritomo PY0
Temporizacion
frmPrincipal.MSComm1.Output = Chr$(&HC) 'Modo Algoritomo PY0
End Sub
Private Function Temporizacion()
Timer1.Enabled = False
Timer1.Interval = 2000
Timer1.Enabled = True
While Flag = 0
Flag = Flag 'Por poner algo dentro del while
Wend
End Function
Private Sub Timer1_Timer()
Timer1.Enabled = False
Flag = 1
End Sub
Nerp escribió.Sr. Nerp:
Ese programa se ve rebueno , me podrian decir que programa es.
'''Aquí es para el Relog Analógico.
'''Traté de hecer algo como hizo el Master Brunof pero lo dejé así, soy medio tapao.
If valor2 = 1022 Then FormMeter.VScroll1(0).Value = value1 + 11 'Aguja en 5 Voltios
If valor2 = 921 Then FormMeter.VScroll1(0).Value = value1 + 9 'Aguja en 4.5 Voltios
If valor2 = 818 Then FormMeter.VScroll1(0).Value = value1 + 8 'Aguja en 4 Voltios
If valor2 = 716 Then FormMeter.VScroll1(0).Value = value1 + 7 'Aguja en 3.5 Voltios
If valor2 = 614 Then FormMeter.VScroll1(0).Value = value1 + 5 'Aguja en 3 Voltios
If valor2 = 511 Then FormMeter.VScroll1(0).Value = value1 + 4 'Aguja en 2.5 Voltios
If valor2 = 409 Then FormMeter.VScroll1(0).Value = value1 + 3 'Aguja en 2 Voltios
If valor2 = 307 Then FormMeter.VScroll1(0).Value = value1 + 2 'Aguja en 1.5 Voltios
If valor2 = 205 Then FormMeter.VScroll1(0).Value = value1 + 1 'Aguja en 1 Voltio
If valor2 = 102 Then FormMeter.VScroll1(0).Value = value1 + 0 'Aguja en 0 Voltios
If valor2 = 1 Then FormMeter.VScroll1(0).Value = value1 + 0 'Aguja en 0 Voltios
...¿para que quieren graficar los datos recibidos por el puerto serial?. ...
...¿para que quieren graficar los datos recibidos por el puerto serial?. ...
una posible utilidad es la de mostrar en "vivo" datos que varían continuamente, como por ejemplo datos del ADC del pic.
Me he descargado el Free Serial Monitor y tiene muy buena pinta.
...¿para que quieren graficar los datos recibidos por el puerto serial?. ...
una posible utilidad es la de mostrar en "vivo" datos que varían continuamente, como por ejemplo datos del ADC del pic.
mm, todavia no entiendo para que necesitan el "poder" de un gráfico para eso. Pero bueno, cada uno con su método :P.Me he descargado el Free Serial Monitor y tiene muy buena pinta.
Es muy bueno para monitorizar el puerto en serie. Lo uso hace tiempo y no sabes cuanto me ha facilitado las cosas.
saludos.
Quiero poner a un nivel alto o bajo el pin RTS de salida desde Visual Basic y no me aclaro. No estoy seguro si es con RTSEnable=True (False) (Seguramente no es así). ¿Como se hace?Teoricamente es como dices, Pocher.
Quiero controlar con niveles directamente aplicaciones desde los pines del RS232 y usando Visual Basic sin usar el PIC. ¿Como se ponen a 0 ó a 1 los diferentes pines del RS232 usando el MSCOMM?
Un saludo
while(i<=2)
{
Delay10KTCYx(50);
putsUSART(microsegundos_LCD);
putcUSART(salto);
Delay10KTCYx(50);
putsUSART(milisegundos_LCD);
putcUSART(salto);
Delay10KTCYx(50);
putsUSART(segundos_LCD);
putcUSART(salto);
Delay10KTCYx(50);
i++;
}
Holaaaa:
Blanquita disculpa, es por cariño.
Yo no tengo tu respuesta en este momento, voy a analizar bien todo.
Por allí en este sub-foro hubo un problema similar, voy a ver si lo con sigo.
No te dé miedo hacer una pregunta. Lo peor que puede pasar es que no te contesten. :D :D :D
Puede que uno u otro regaño. Pero asi se aprende. :D
Bye('_').
Bah, café. Se nota que sois principiantes. Lo mejor para la nocturnidad es el ron :DLa voz de la experiencia :D :D :D :D..y si lo mezclas con cola u otro al pelo...
Bah, café. Se nota que sois principiantes. Lo mejor para la nocturnidad es el ron :D
Public linea As String
Public incoming As String
Public flag As Boolean
Private Sub Form_Load()
linea = "Mensaje a guardar en EEPROM"
End Sub
Private Sub MSComm1_OnComm()
If (MSComm1.CommEvent = comEvReceive) Then
incoming = MSComm1.Input
If (incoming = "K") Then
flag = True 'Indica si recibimos el caracter que nos dice que está listo el PIC
End If
End If
End Sub
Private Sub Timer1_Timer()
If (flag = True) Then
flag = false
MSComm1.Output = Left(linea, 1) 'Enviamos solo 1 letra (la primera)
If (Len(linea) <> 0) Then
linea = Right(linea, Len(linea) - 1) 'Con esto le vamos quitando la letra enviada
End If
End If
End Sub
Private Sub Netcomm1_OnComm()
If NETComm1.CommEvent = NETComm_EV_RECEIVE Then
'recoge valor de entrada
datos = NETComm1.InputData
'busca la posición del caracter de salto de linea
i = InStr(datos, Chr(13))
If i <> 0 Then
buffer = buffer & datos
Sheet1.Range("E12").FormulaR1C1 = buffer
End If
End If
Private Sub NETComm2_OnComm()
If NETComm2.CommEvent = NETComm_EV_RECEIVE Then
datos232 = NETComm2.InputData
If ((Asc(datos232) > 13) And (Asc(datos232) <> 44)) Then
trama = trama & datos232
End If
If (Asc(datos232) = 44) Then
tiempo = (trama)
trama = ""
End If
If ((Asc(datos232) = 10)) Then
dato = (trama)
trama = ""
Hoja2.Range("F9").FormulaR1C1 = tiempo
Hoja2.Range("G9").FormulaR1C1 = dato
End If
End If
End SubIf NETComm1.CommEvent = NETComm_EV_RECEIVE Then
datos = NETComm1.InputData
nadoti = Asc(datos)
If ((nadoti > 13) And (nadoti <> 44)) Then
buffer = buffer + datos
End If
If (nadoti = 44) Then
tiempo = buffer
buffer = ""
Sheet1.Cells(12, 5).FormulaR1C1 = tiempo
End If
If (nadoti = 45) Then
largo = Len(buffer)
pote = Left(buffer, largo - 1)
buffer = ""
Sheet1.Cells(12, 9).FormulaR1C1 = pote
End If
If (nadoti = 10) Then
dato = buffer
buffer = ""
Sheet1.Cells(12, 12).FormulaR1C1 = dato
End If
End If