Pues me ha surgido una duda, he hecho un programita para comunicar la pc con el pic (usando visual basic), probe el envio y bien, probe la recepcion y bien, el problema que me ha surgido es que el programa inicia enviando una opcion sea "A", "B", o "C", si le envio A que el pic debe enviar a la pc la palabra UNO, si envio B la palabra DOS y si envio C la palabra TRES, pero me llegan a la PC AUNO, BDOS, CTRES , o sea que la letra que estoy enviando la recibo. No se como corregirle ese error para comunicarme no estoy usando la MAX232 sino el circuito que esta en
http://www.pablin.com.ar/electron/circuito/mc/ttl232/ ¿sera este circuito el culpable?, porque de hecho si apago el pic y le doy enviar y despues recibir recibo la letra que acabo de enviar, ¿o alguna configuracion de visual basic? porque el pic no envia de regreso la letra para que fuera ese el problema.
Lo que he hecho en visual basic es lo siguiente:
................................................
Private Sub Command1_Click()
dato = "A"
Call enviar
End Sub
...................................................
Private Sub Command2_Click()
Call recibir
tdelbufer = 3 "porque al enviar A se debe recibir la palabra UNO (3 caracteres)
End Sub
....................................................
Private Sub Form_Load()
With MSComm1
.CommPort = 1
.Settings = "9600,N,8,1"
.InputMode = comInputModeText
.InputLen = 0 "el control MSComm leera todo el bufer de recepcion
.PortOpen = True
End With
End Sub
......................................................
Private Sub enviar()
MSComm1.InBufferCount = 0 "resetea el bufer de recepcion
MSComm1.Output = dato
Do While MSComm1.OutBufferCount > 0
Loop
End Sub
......................................................................
Private Sub recibir()
Dim entrada As String
Do While MSComm1.InBufferCount < tdelbufer
DoEvents
Loop
buferentrada = MSComm1.Input
Text1.Text = Text1.Text & entrada & vbCrLf
End Sub
........................................................................
Cualquier ayuda sera bienvenida GRACIAS
