Autor Tema: PIC 16F84A y Puerto Serie PC  (Leído 4417 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado sebaspla2008

  • PIC10
  • *
  • Mensajes: 12
PIC 16F84A y Puerto Serie PC
« en: 19 de Febrero de 2009, 12:56:29 »
Ante todo, saludos a toda la comunidad del foro, la verdad que son geniales!!

Bueno, les comento mi problema, a ver si me pueden dar una mano.

Resulta que quiero hacer una simple conexion entre un pic 16f84a y el puerto serie de la pc. El pic lo programo en PIC BASIC PRO y hago un sencillito programita en C# para ver los datos que envia y recibe la pc.

El problema, es que simplemente no hace nada, ni siquiera veo que reciba basura en el buffer del puerto de la pc, simplemente se queda en blanco. Tampoco logro mandar ningun dato al pic, porque no se me encienden los leds

Al principio pensaba que era problema de la conexion, pero logre hacer el mismo programa en CCS C y anduvo perfecto.

Yo por lo que se, el 16F84 no posee UART, pero creia que con las sentencias SERIN y SEROUT se lo podia comunicar igualmente al puerto serie.

En cuanto a la conexion, utilizo un MAX232.

Tambien me fije si leia bien y mandaba bien los datos el puerto, y lo comprobe puenteando los cables directamente del TX al RX y anduvo bien, asi que deduzco que el problema es definitivamente del software del pic

Pongo el codigo:

Código: [Seleccionar]
include "modedefs.bas"

define conf_word 0x3ff9
define osc 4
trisb.0=0
trisb.2=0
low portb.2
variable var byte

variable=" " 

loop:

serin portb.1,T2400,variable
serout portb.0,T2400,[$FF,$FF,variable]
if variable<>" " then
high portb.2
endif
goto loop

end

Ah y si me podrian explicar un poquito acerca de la USART se los agradeceria

Muchas gracias

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: PIC 16F84A y Puerto Serie PC
« Respuesta #1 en: 19 de Febrero de 2009, 13:19:49 »
Hola:

Si lo que pretendes hacer es enviar un valor desde el pc al micro y deviolverla a la PC como veo que intentas hacer, no te sirve serin, puedes usar serin2 para ese fin.

Primero intenta solamente con serout a enviar cualquier caracter y míralo en la máquina. Recuerda que T2400 es Driven True y que N2400 es Driven Inverted.

Desconectado sebaspla2008

  • PIC10
  • *
  • Mensajes: 12
Re: PIC 16F84A y Puerto Serie PC
« Respuesta #2 en: 19 de Febrero de 2009, 13:25:59 »
Mira, intentare hacerlo, pero recuerdo que antes de hacer este programa, habia hecho otro que simplemente enviaba un caracter, y tampoco recibia nada.
Tambien habia probado que reciba y no consegui nada.

me podrias explicar que diferencia tiene el serin2 del serin y su sintaxis??

Muchas gracias

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: PIC 16F84A y Puerto Serie PC
« Respuesta #3 en: 19 de Febrero de 2009, 13:39:12 »
Hola:

Usa N2400, tu estás usando un Max, para la sintaxis y su estructura, dale F1 en el MCS y te aparece la ayuda, ahí incluso verás ejemplos de aplicación, está muy entendible, más claro de lo que yo te pueda explicar.


 

anything