Programación Específica > Microcontroladores

 Envio De Datos Por El Puerto Serial Pic-pc

(1/5) > >>

karen81:
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 el pic envia 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 y 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 si apago el pic y le doy enviar y despues recibir recibo la letra que acabo de enviar,¿o sera 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:

--- Código: Text ---'................................................Private Sub Command1_Click()dato = "a"Call enviarEnd Sub'...................................................Private Sub Command2_Click()Call recibirEnd 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 = TrueEnd WithEnd Sub'......................................................Private Sub enviar()MSComm1.InBufferCount = 0 'resetea el bufer de recepcionMSComm1.Output = datoDo While MSComm1.OutBufferCount > 0LoopEnd Sub'......................................................................Private Sub recibir()Dim entrada As StringMSComm1.OutBufferCount = 0buferentrada = MSComm1.InputDo While MSComm1.InBufferCount > 0LoopText1.Text = Text1.Text & entrada & vbCrLfEnd Sub'........................................................................ Cualquier ayuda sera bienvenida GRACIAS  :comp:

boni:
Hola!

?puedes adjuntar el programa del PIC? ?es ensamblador o c?

A mi me paso algo parecido y el error estaba en el programa del pic. Para hacer las pruebas iniciales, inclui un comando para que me devolviera el caracter recibido por el pic y probarlo con el hyperterminal.
Al probarlo con labview, me paso lo mismo que a ti. Puede que hayas cometido un error parecido.

karen81:
lo he hecho en ensamblador, por lo que no hay donde perderse, ademas lo probe con hyperterminal y no me regresa el caracter :comp:

Huguen_aus_Tirol:
Hola Karen! Si dices que estando apagado el micro tienes el problema, descarta que la causa esté en el programa del PIC ;)
Si además dices que con el hiperterminal no tienes el problema, descarta el hard...
Entonces tu problema debería estar en el programa de la PC... Dedicate a revisar este programa, a ver que encuentras.
Espero haber ayudado, lamentablemente no tengo mucha experiencia en VB!

Saludos :hola:

karen81:
:P me equivoque SI me devolvia el caracter en el hyperterminal (no sabia que en la pantalla no se imprimian los caracteres que se envian solo los que se reciben y si se me imprimian).
Ya solucione el problema, era el circuito, lo que hice fue quitarle la resistencia que de 4.7K y me ha funcionado bien  :comp: , (espero que no haya problema) :blink:

si alguien sabe mas de este circuito, le agradeceria que me lo dijera


GRACIAS   :lol:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa