# RS232 a USB problemas con pl2303 de prolific



## seaarg (Abr 20, 2010)

Amigos,

Busque en el foro pero no encuentro informacion en particular sobre un problema con el cable conversor con pl2303 de prolific.

El cable es: http://www.noganet.net/producto/cable-serial
Su integrado (segun los drivers): http://www.prolific.com.tw/eng/Products.asp?ID=59

Mire los siguientes temas:
https://www.forosdeelectronica.com/f26/circuito-serial-rs-232-usb-96/
https://www.forosdeelectronica.com/f11/rs232-conversor-serie-usb-17056/
https://www.forosdeelectronica.com/f15/hacer-andar-adaptadores-usb-rs232-21233/
https://www.forosdeelectronica.com/f15/conversor-rs232-usb-52/

Mi problema es el siguiente:
Tengo un pic 16F638 conectado a traves de un max232 al puerto serial de la PC y puedo comunicarme sin problemas.

Cuando intento hacer lo mismo (usando, o no el max232, en ambos casos) con este cable adaptador usb, seteando en el hyperterminal, o putty, los mismos parametros de comunicacion que uso en el pic (1200,n,8,1) con el puerto serie virtual que crea el driver. No solo NO funciona, sino que simplemente al conectar el cable a la PC, sin conectar la alimentacion del pic, el mismo comienza a funcionar (como si el mismo cable alimentara el pic por los pines de tx, rx).

Aclaro que mi conexion es solo TX,RX y GND. Probe tambien invertir la conexion de TX y RX pero el mismo problema.

1)- ¿Alguien ha probado con exito este tipo de cables?
2)- ¿Saben de algun requerimiento especial para hacerlo funcionar?
3)- En caso de que funcione, ¿lo hace sin max232?
4)- ¿Que el mismo cable me alimente el circuito del pic a traves de tx o rx, es normal?

Si los moderadores consideran que este tema es duplicado, por favor eliminenlo, lo cree porque no encontre algun thread donde se discuta especialmente este asunto de que se "cuele" alimentacion al circuito.


----------



## DOA (Abr 20, 2010)

Yo probre con un cable de celular que utiliza el pl2303 y si me funciono con el 16f877a a 9600 baudios y sin el max232


----------



## Chico3001 (Abr 20, 2010)

Yo tengo uno que tambien usa el PL2303 de Marca Steren y tambien funciona ... pero a medias... algunas veces como que se pierde y hay que quitarlo y volverlo a poner o de plano reiniciar la computadora para que vuelva a funcionar...


----------



## seaarg (Abr 21, 2010)

Utilizan algo en especial en la configuracion del puerto virtual? Control de flujo? Algo especial en las lineas de control del rs232? (cts, etc) No las conecto en hardware pero quiza el driver necesite algo ahi para que el pl2303 funcione.

En el soft del pic utilizo salida por printf de CCS C, esto funciona si conecto a serial real de la pc a traves de max232

Que terminales usan? yo uso PuTTY, o un programita visual basic que hice.


----------



## DOA (Abr 21, 2010)

Al conectar e instalar los drivers se me creo como puerto COM4 y probe con un ejemplo que viene con el labview y funciono correctamente, pero cuando conecté el conversor en otro puerto usb se creo como COM5 y en ese puerto no funciono.


----------



## seaarg (Abr 21, 2010)

Que raro lo que te sucede DOA. No lo tengo muy claro en la memoria ahora, pero creo que en mi caso me creaba un COM5 virtual tambien. Sera que hay que conectarlo al "primer" usb? (no estoy seguro si tienen un orden los conectores usb)


----------



## DOA (Abr 21, 2010)

El numero del COM se crea de acuerdo al orden en que ha sido instalado, cuando le volvi a conectar en el COM4 funciono correctamente
La manera mas facil de probar es con el hyperterminal


----------



## Chico3001 (Abr 21, 2010)

Yo no lo he usado en programacion, tenemos unos equipos que solo funcionan con serial y necesitamos esos convertidores.. sin embargo ha sido un problema poder mantenerlos funcionando porque misteriosamente se desincronizan.... 

Hasta he pensado en armar uno usando algun CI....


----------



## seaarg (Abr 21, 2010)

Chico3001 dijo:


> Hasta he pensado en armar uno usando algun CI....



Bueno, si no conseguis IC especifico, podrias usar un PIC18F2550 a modo de "repetidor" entre su rs232 y su usb.


----------



## DOA (Abr 21, 2010)

Este es un nuevo conversor
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en546923


----------



## Chico3001 (Abr 22, 2010)

lo siento no soy fan de los PICs... pero estaba pensando en armar este proyecto con un AVR:

http://www.obdev.at/products/vusb/index.html


----------



## seaarg (Abr 22, 2010)

Muy interesantes links. Me sorprendio el de AVR. Mucha memoria para implementar una solucion soft?


----------



## Chico3001 (Abr 22, 2010)

Hay un chip que hace todo el trabajo de conversion... pero no recuerdo el numero... al rato que tenga chance lo busco en el foro...


----------



## totoxa (May 26, 2010)

Yo compre ese mismo cable(por apariencia) y tampoco me funcionó, ni con el putty ni con hyperterminal, pero a veces funcionaba con un programa de terminal hecho en visual basic y también con otro que es una modificación del putty, que se llama tutty, y en linux funcionaba siempre, pensé que era problema de drivers, pero compré otro cable con el mismo chip y funciona bien, con los mismos drivers.
Y no necesitas usar max232, y a mi también se me enciende el pic cuando lo conecto, así que simplemente no lo conecto sin tener alimentado el pic


----------



## seaarg (May 27, 2010)

buena info. Parece bastante aleatorio el funcionamiento en general de estos cables. Gracias!


----------



## drsombras (Ago 18, 2011)

Hola a todos, tengo instalado win7 64bits en mi maquina y ni siquiera puedo instalar correctamente los controladores, pese a que baje la ultima actualizacion de la pagina de prolific. Alguein puede darme una mano? Gracias


----------



## juan2cruz (Sep 15, 2011)

Buen día foro!

Hacia bastante que no me pasaba por acá..

Les cuento que estoy haciendo un trabajito con un PIC.. y lo conecto por el cable serial a traves de un MAX232.

Así que para usarlo con la netbook, me compre un adaptador USB-RS232 que funciona con profilic 2303.

La cosa es que en la PC de escritorio me funciona todo perfecto. La PC envia a través del adaptador y el pic recibe, el pic envia y la pc recibe.

Ahora el tema es cuando lo conecto a la netbook, la netbook envia.. el pic recibe. Pero cuando el pic envia la pc no recibe nada.. y no logro hacerlo funcionar.. no se que sera lo que pasa.


Este es el adaptador que estoy usando: http://www.dealextreme.com/p/usb-to-rs232-serial-port-adapter-transparent-green-24512

La netbook es una HP mini 110 1020la.


Saludos, espero alguno pueda ayudarme!! 
Desde ya, gracias.


----------



## Haslick (Sep 15, 2011)

Yo me compre exactamente el mismo adaptador por DealExtreme con ese fin! ... Pero aun no me e puesto a hacer nada con el...  No me digas que no fuca con la Notebook...  era para usarla ahi mas que nada que lo compre.. 

Apenas me ponga a hacer algo te aviso que onda si tengop el mismo problema!


----------



## juan2cruz (Sep 15, 2011)

Buenisimo!! avisame cuando tengas alguna info.


----------



## mdchaparror (Sep 15, 2011)

yo he probado esos adaptadores y funciona muy bien en mi computador de escritorio y en el portátil
yo los he  usado con Realterm en Windows  y en Linux con el kterminal.

seguro que el microcontrolador si recibe?


----------



## juan2cruz (Sep 16, 2011)

Ya esta, lo solucione... El problema estaba que la Netbook creía que no tenía un puerto serial.

Para solucionarlo fui a Panel de control -> Sistema -> Hardware -> Administrador de dispositivos
(También se puede llegar haciendo click derecho en Mi Pc -> Hardware -> Administrador de dispositivos)

Ahí en el administrador te vas a el menu -> Ver -> Mostrar dispositivos ocultos

Y después en la lista te van a aparecer los "dispositivos que no son plug and play". Ahí mismo deshabilitas el que se llama Serial y listo, el USB-RS232 empieza a funcionar...

Yo creo que debe haber algún conflicto con eso, la netbook al no tener puerto serial se empacaba con el usb jajajaja

Ahora, el unico drama.. es que la conexión es media chota.. no se la verdad porque, en la pc de escritorio me funciona perfecto. Pero en la netbook es como si no pudiera enviar y recibir al mismo tiempo :S

Saludos y espero que si a alguien le pasa esto le sirva!!


----------



## pablodeo (Dic 11, 2011)

Yo estoy pensando en comprarme una netbook (porque es más económica y portátil) para poder hacer las materias que me faltan de Ingeniería, y buscando en Google las ventajas y desventajas, encontré este post.

¿Has probado conectar la fuente de la netbook? Creo que con la batería sola, los puertos se debilitan un poco.

Esos adaptadores, ya sea con pc de escritorio, notebooks o netbooks, no siempre son plug and play, a veces hay que buscar y descargar drivers. Yo tengo un adaptador Manhattan, y al principio no andaba, pero después busqué y descargué los drivers, y ahora lo reconoce perfectamente.


----------



## solaris8 (Ene 26, 2012)

escribo aqui porque veo que tienen un problema sejante al mio, tengo una Texas Instrument Extensa 600cds Pentium 120 (sin risas por favor)... y quiero hacer un adaptador serial usb ya que no cuenta con usb






el adaptador tendria que ser usb hembra a serial, vi esto pero no me convence....les dejo el adjunto. tendra solucion


----------



## etp94 (Nov 19, 2014)

Un compañero y yo tenemos el mismo problema al querer usar un convertidor de nuestros puertos usb hembra a serial macho nos aparece un triangulito amarillo en el com viendolo desde la interfaz del admin. de dispositivos el cual dice 

"Este dispositivo no puede iniciar. (Código 10)

Se ha especificado un dispositivo inexistente."

 , otros compañeros que compraron el mismo cable no tienen este problema en sus portátiles, al principio creía que era problema de que tanto mi portátil como la de mi compañero con el mismo problema son ultrabooks a pesar de ser de diferentes marcas tenían el mismo problema, pero ahora con ayuda del enlace que les copio a continuación, me he puesto a pensar que las ultrabooks son portátiles con menos hardware y que el problema esta lejos del hardware, entonces me di cuenta que el problema pudiese ser que ambos utilizamos Windows 8.1, en el enlace que les pego de la comunidad de microsoft es donde he encontrado como han resuelto otras personas el mismo problema:

http://answers.microsoft.com/es-es/...32-en-un/8b4b44a5-73fd-4be0-87ad-c18c5ec73f7d


----------



## analogico (Nov 19, 2014)

etp94 dijo:


> Un compañero y yo tenemos el mismo problema al querer usar un convertidor de nuestros puertos usb hembra a serial macho nos aparece un triangulito amarillo en el com viendolo desde la interfaz del admin. de dispositivos el cual dice
> 
> "Este dispositivo no puede iniciar. (Código 10)
> 
> Se ha especificado un dispositivo inexistente."



entra a las propiedades  y cambia el numero de com, otros dispositivos pueden estar usando el mismo numero


----------



## etp94 (Nov 19, 2014)

analogico dijo:


> entra a las propiedades  y cambia el numero de com, otros dispositivos pueden estar usando el mismo numero



Ya encontré la solución!  , para los que tienen Windows 8.1 es simple, el nuevo OS de windows no te reconoce el convertidor usb-rs232 utilizando drivers del convertidor que esten citados con fecha después del año 2011, aquí les adjunto la versión del driver que utilizé, el problema esta en que Windows 7 y 8 al conectarle un periférico te busca la versión del driver más actualizada ya sea por medio de la red o de forma local, para esto hay que ir a:

1.- Admin. de dispositivos
2.-Click izq. en Puertos (COM y LPT) --> Aquí si tienes el mismo problema que yo debe de aparecerte un triangulito en el Prolific USB-to-Serial Comm Port (Tu cable debe de estar conectado para que te salga esta categoría).
3.- Click derecho En el Prolific USB-to-Serial Comm Port
4.- Click izq. en Actualizar software del controlador...

nota: sile das click izq en propiedades, si tienes el problema te dirá en el estado del dispositivo que tiene el error 10 y que el dispositivo no se encuentra

5.-Click izq. en Buscar software del controlador en el equipo
6.- (Una vez instalado la versión que les adjunto o anterior al 2011) Click en elegir en una lista de controladores de dispositivos en el equipo
7.- Eligen la versión que les pase no recuerdo si es la 2007 o 2008 pero cualquiera sirve


----------



## gabrielzuno (Sep 15, 2016)

Estimados, todos.
Soy nuevo en este foro, y quería hacerles una consulta:
Tengo un convertidor de USB a RS232 prolific PL-2303, el cual ya lo tengo instalado en mi Laptop correctamente, generando un puerto COM3.

Para comprobar el funcionamiento correcto del conversor, realicé la siguiente prueba, puenteando las patitas 2 y 3 del conector DB9 del conversor y utilizando el Hyperterminal configurado cómo:

```
puerto            COM3, 
velocidad         9600,
Datos              8 bit
Paridad            ninguna
bit de parada    1
Control de flujo ninguna
```
Pude realizar la TX/RX sin problemas. Utilizo SO win 7.
Pero cuando quiero realizar la TX/RX desde un PIC hacia la laptop, no se ejecuta.

Para comunicarme con la Laptop desde el PIC, utilizo el MAX232.

El programa del PIC es el siguiente:

```
#include <18f4550.h>
#device adc = 10
#fuses HSPLL,PLL5,CPUDIV2,NOWDT,NODEBUG,NOPROTECT,NOLVP,VREGEN,MCLR,USBDIV,NOPBADEN,NOPUT

#use delay(clock = 20000000)

#use RS232(BAUD=9600, BITS=8, PARITY=N, XMIT=PIN_C6, RCV=PIN_C7)

void configurar_micro(void){

SETUP_TIMER_0(T0_OFF);
SETUP_WDT(0);
SETUP_TIMER_1(0);
SETUP_TIMER_2(0,0,1);
SETUP_TIMER_3(0);
SET_PWM1_DUTY(0);
SET_PWM2_DUTY(0);
SETUP_CCP1(0);
SETUP_CCP2(0);
SETUP_PSP(0);
setup_comparator(NC_NC_NC_NC);
DISABLE_INTERRUPTS(GLOBAL);


}


// Definicion de pines del  LCD
#define LCD_RS    PIN_D2
#define LCD_E     PIN_D3
#define LCD_DB4   PIN_D4
#define LCD_DB5   PIN_D5
#define LCD_DB6   PIN_D6
#define LCD_DB7   PIN_D7
// La libreria siempre va despues de la definicion de pines
#include <My_LCD.c>
//Declaracion de caracteres especiales
//char t = 20;
void main(){
   SETUP_ADC_PORTS(AN0_TO_AN1);
   SETUP_ADC(adc_clock_internal);
   
   set_tris_d (0x00); // Pones el puerto D como salida
   Start_LCD();      // Iniciamos el LCD
   
      char ch;
      printf("Introduzca un caracter;\r");
      ch=getch();
      printf("El caracter %c tiene un valor ASCII decimal de %d \r",ch,ch);
      
      LCD_xy(1,1);
      printf(Write_LCD,"Car = %c",ch);

 }
```
Favor de indicarme si está mal el programa, o es que tengo algún conflicto de reconocimiento interno dentro de la Laptop.

Saludos a todos.


----------



## ruben90 (Sep 15, 2016)

*1)* Instalar driver (_PL2303 WIN7_): https://mega.nz/#!5w43HbgZ!yC-UiP22qi54L7OujprSnmczqnhVr3Q2IP-BE_AT4Zg,
_______________(_PL2303 WIN8_): https://mega.nz/#!1pYVSZqR!42x-F-rL7hprvFmsc8CXUJ0uLHeSa6mh-XcdXvItrlk.
*2)* Esperas que se instale correctamente, luego conectas el dispositivo y esperas que el sistema lo reconozca.
_______________________




*3)* Ir a *Panel de control* *>>* *Hardware y sonido* *>>* *Administrador de dispositivos.*
________________________




*4)* Reinicia el sistema, debe quitarse la advertencia del icono.
*5)* Dar doble Clic en el icono *>>* *Configuración de puerto*, y modificar a tus necesidades.


----------



## D@rkbytes (Sep 15, 2016)

gabrielzuno dijo:


> Favor de indicarme si está mal el programa, o es que tengo algún conflicto de reconocimiento interno dentro de la Laptop.


La palabra de configuración para un oscilador a cristal de 20 MHz, no es correcta.
Usa la siguiente:
#fuses NOFCMEN, NOVREGEN
#use delay(crystal = 20MHz)

También hace falta un bucle y usar kbhit() para realizar la comprobación de recepción de datos.

PD:
Todas las configuraciones declaradas en "configurar_micro", no son necesarias para el programa que estás usando.


----------



## gabrielzuno (Sep 15, 2016)

Estimado D@rkbytes
Gracias por tu respuesta, y realice todos tus consejos pero siguen sin funcionar, pero te comento que esta sucediendo lo siguiente;

Como entenderás al conectar el PIC a la Labtop, deveria visualizar la frase "Introduzca un caracter" 


> printf("Introduzca un caracter;\r");


pero utilizando las herramientas del CCS mas que nada la opción Serial Port Monitor
Solo se visualiza la misma cantidad de letras de la frase con ceros;
Y luego como el PIC se pone en espera de un caracter desde el teclado con la sentencia 


> ch=getch();


No responde a ningún carácter ingresado desde el teclado de la Labtop solo a la barra espaciadora lo cual hace que el PIC envie 


> printf("El caracter %c tiene un valor ASCII decimal de %d \r",ch,ch);


la misma cantidad de caracteres de la frase pero todos ceros y luego lo visualiza en el LCD       


> LCD_xy(1,1);
> printf(Write_LCD,"Car = %c",ch);


Pero visualiza el carácter ASCII 219;
Espero que me sigan apoyando 
Saludos


----------



## D@rkbytes (Sep 15, 2016)

gabrielzuno dijo:


> Estimado D@rkbytes
> Gracias por tu respuesta, y realice todos tus consejos pero siguen sin funcionar.


El programa adjunto funciona perfectamente.





​


gabrielzuno dijo:


> Para comunicarme con la Laptop desde el PIC, utilizo el MAX232.


Si ya estás usando el PL2303, no es necesario el MAX232


----------



## ruben90 (Sep 15, 2016)

> Si ya estás usando el PL2303, no es necesario el MAX232



Que clase de brujería es esa? No me la sabia.


----------



## D@rkbytes (Sep 15, 2016)

Es lógico. El PL2303 funciona con los 5 voltios del puerto USB, así que ya no hay necesidad de adaptar niveles.
Por lo tanto, su salida ya es compatible con TTL.

El MAX232 se usaba con puertos físicos COM RS-232, porque los niveles de tensión son superiores a 5 V.


----------



## gabrielzuno (Sep 17, 2016)

Estimado D@rkbytes
El programa que quisiste enviar no se cargo al FORO y no lo puedo ver ni revisar puedes enviarlo otra vez;
También te comento que probé directamente desde el PIC sin el MAX232 pero igual no me funciona no envía ni recibe  ningún dato en la labtop;
Te comento que tengo la tarjeta de pruebas HKF-010U,
Gracias por apoyarme
Saludos

Estimado D@rkbytes
El programa que quisiste enviar no se cargo al FORO y no lo puedo ver ni revisar puedes enviarlo otra vez;
También te comento que probé directamente desde el PIC sin el MAX232 pero igual no me funciona no envía ni recibe  ningún dato en la labtop;
Te comento que tengo la tarjeta de pruebas HKF-010U,
Gracias por apoyarme
Saludos



Estimado D@rkbytes
Probé el programa que me enviastes de acuerdo a mi necesidad y conectado lo directamente desde el PIC sin el uso del max232, pero me sale caracteres raros y cuando envio el numero "1" me responde con caracteres también raros.
Crees que puede ser alguna configuración o conflicto que estaria teniendo mi labtop???
Saludos
Y gracias por sus respuestas.


----------



## 1024 (Sep 17, 2016)

Hola primero que nada hay una confusión en cuanto a que estas utilizando para generar el puerto virtual, queda claro que es un hardware con el driver pl2303, pero la duda esta en si es la tarjeta con salida ttl o el cable completo, necesitas ver en la tarjeta de desarrollo que utilizas si ya trae el max232 o como esta.


----------



## ruben90 (Sep 17, 2016)

Para quitarme de dudas, probé la tensión en las terminales del conector DB9 (protocolo RS232) y me arroja valores negativos (obvio) superior a los 5V, así que bendito sea el MAX232. Ahora, sobre tu problema, posiblemente, 

*-* No estas utilizando los mismos baudios en la configuración de puerto y microcontrolador, o _ la velocidad que escogiste no es suficiente,
*-* Ruido en la linea de transmisión y/o circuito,
*-* Programación mal realizada, no esperas que el registro de entrada/salida se borre _.correctamente.


----------



## gabrielzuno (Sep 17, 2016)

Estimado 
Es el cable adaptador USB a RS232 de la marca profilic y ya viene encapsulado todo
saludos


----------



## D@rkbytes (Sep 17, 2016)

Si ya grabaste el programa que subí, configuras y montas todo correctamente, no debes tener problemas.
Como puedes ver en las imágenes, todo funciona bien.
Revisa que estés realizando la conexión en la terminal a 9600 Bps.
Cuando aparecen caracteres raros, es porque la comunicación está fuera de sincronía.


----------



## gabrielzuno (Sep 17, 2016)

Gracias por su interés de apoyarme y tratar de resolver este problema 
Pero lamentablemente no tengo buenos resultados
Les envió fotos de mi conexión física, donde estoy conectando directamente del PIC hacia el conversor USB - RS232 en la placa de pruebas HFK-010U para me sigue votando errores al momento de enviar y recibir datos y la sincronizacion creo que esta correcta ya que esta como se muestra en las fotos
favor de apoyarme con sus comentarios y sugerencias
Saludos

Se puede apreciar que sigue el error o podría ser algún conflicto en el puerto de comunicaciones
Les agradeceré sus comentarios
Saludos


----------



## 1024 (Sep 17, 2016)

gabrielzuno dijo:


> Gracias por su interés de apoyarme y tratar de resolver este problema
> Pero lamentablemente no tengo buenos resultados
> Les envió fotos de mi conexión física, donde estoy conectando directamente del PIC hacia el conversor USB - RS232 en la placa de pruebas HFK-010U para me sigue votando errores al momento de enviar y recibir datos y la sincronizacion creo que esta correcta ya que esta como se muestra en las fotos
> favor de apoyarme con sus comentarios y sugerencias
> ...



Hola, una observación, no debes conectar directamente ya que tienes el cable convertidor, en este caso necesitas conectar con del max232


----------



## ruben90 (Sep 18, 2016)

1024 dijo:


> Hola, una observación, no debes conectar directamente ya que tienes el cable convertidor, en este caso necesitas conectar con del max232



Así es, por eso yo medí las tensiones en los pines 2 y 3 del conector DB9 macho de mi cable convertidor, y entrega tensiones negativas (-8.5V para ser exacto). Así que seria mala idea conectarlo directamente a las terminales TX/RX del microcontrolador.

Te invito a crear códigos separados de envió y recepción de datos fijos. Prueba cada uno por separado. Hay mucha información en Internet, no te limites. Luego intenta con datos aleatorios provenientes de un sensor o potenciometro. Veo que tienes un entrenador, aprovéchalo.


----------



## gabrielzuno (Sep 18, 2016)

Gracias por sus respuestas
Les comento los siguiente:
   Para comprobar el estado del conversor USB-RS232 tuve que puentear las patitas en el DB9 2 y 3 y con el Hyperterminal pude enviar y recibir datos correctamente;

También realice las pruebas conectando el MAX232 (como les comentaba al inicio de mis consultas) con mi Labtop, pero haciendo las pruebas solo recivia puros ceros, y cuando enviaba el valor de la barra espacia-dora el PIC responde visualizando en el LCD un caracter ASCCI 0B y envía a la Labtop  nuevamente ceros.

Luego a sugerencia de los colegas del foro me indicaron que podría probar si el MAx232, tambien lo realice y los resultados fueron los que envie en mis consultas anteriores, osea tampoco funciona;

Por ello estuve leyendo que probablemente sea un conflicto del puerto, o un mala configuración creo yo pero seguiré investigando el porque sucede ello o es que algo debería configurar en mi CCS Ver 4.114 o el el hyperterminal o mi SO win 7 genera algún conflicto de puertos o no se, pero si me pueden seguir apoyando con sus aportes les agradecería mucho.
Saludos


----------



## ruben90 (Sep 18, 2016)

Ok, 0B equivale a 219 en decimal. Dicho valor sucede al precionar la barra espaciadora, debes comprobar si corresponden los valores. Los ceros (0x00) corresponden el vacío del registro de entrada, el cual es verificado constantemente (por eso aparecen ceros y ceros sin parar). Necesitas modificar el programa que identifique el bit de start o que cuando reciba 0x00 no muestre nada.


----------



## gabrielzuno (Sep 18, 2016)

Estimado Ruben9 
Y como se hace ello
Saludos


----------



## ruben90 (Sep 18, 2016)

Fácil, esperas la interrupción proveniente de *RCIF_bit*, luego lees el registro *RCREG* y si el valor es 0x00 no lo muestres en pantalla.


----------



## gabrielzuno (Sep 18, 2016)

Estimado Ruben90
Disculpa mi falta de conocimiento pero me gustaría que me orientes a realizar la rutina sugerida utilizando el copilador CCS en lenguaje C ya que con ASM es mas fácil hacer ello pero con el lenguaje C y toda las rutinas ya encapsuladas, todavía para mi se me hace un poco complicado.
Creo que el foro asi como yo te estaremos muy agradecidos por tu aporte sobre el tema.
Saludos


----------



## 1024 (Sep 18, 2016)

Hola que tal, yo creo que el problema esta en el hardware, al ser una tarjeta de desarrollo algunas veces se tiene que hacer algunos cambios para utilizar los periféricos, en este caso habria que revisar el manual si dice algo al respecto, el la red no lo encuentro.


----------



## gabrielzuno (Sep 18, 2016)

Estimado les adjunto el plano, pero revise y comprove las conexiones de mi tarjeta pero según yo todo esta bien si alguno de ustedes encuentre algo fuera de lo normas me avisan
Gracias


----------



## 1024 (Sep 19, 2016)

gabrielzuno dijo:


> Estimado les adjunto el plano, pero revise y comprove las conexiones de mi tarjeta pero según yo todo esta bien si alguno de ustedes encuentre algo fuera de lo normas me avisan
> Gracias



Hola, recomiendo que para descartar que sea un problema de hardware prueba quitando los jumpers de J41, J49, asegurarse que este en off el switch 3 de SW3 y que no haya nada conectado en J39, y por supuesto que esten correctamente colocados los jumpers en J18 y J19. Ademas observo que tienes cristales de 4Mhz y para el ejemplo que muestras de código estas usando 20Mhz y no esta definido en los FUSES el tipo de oscilador verifica que oscilador estas utilizando y que este el jumper en la posicion correcta.


----------



## gabrielzuno (Sep 19, 2016)

Estimado 1024
Gracias por tus sugerencias, pero todo lo que me sugieres yo los desactive previamente, ahora no estoy usando un cristal de 4MHZ sino de 20MHZ;
Saludos


----------



## D@rkbytes (Sep 19, 2016)

Yo te recomiendo que realices el montaje básico en un protoboard.
Eso es para descartar problemas de hardware, cómo menciona 1024.

Cuando dije que con el PL2303 se puede conectar directamente al microcontrolador, me refería a ésto:


Con éstos módulos ya no hace falta usar el MAX232 porque su salida es  compatible con niveles TTL.
Yo los uso en todos mis proyectos actuales para la comunicación RS-232 por USB.​


----------



## 1024 (Sep 19, 2016)

gabrielzuno dijo:


> Estimado 1024
> Gracias por tus sugerencias, pero todo lo que me sugieres yo los desactive previamente, ahora no estoy usando un cristal de 4MHZ sino de 20MHZ;
> Saludos



Hola, comprendo me base en el esquema que enviaste aun así en el código que muestras en un mensaje anterior no defines el FUSE correspondiente, te recomiendo lo que te mencionan de armar en protoboar.


----------



## heidyvanesa19 (Sep 24, 2019)

*Confusión sobre interfaz de comunicación para leer datos...*

Bien tengo una duda y deseo su colaboración para resolverlo. Tengo un conversor, mas bien un modulo USB a TTL PL2303 de Prolific, bien la duda que tengo es si se necesita conectar además de ese conversor, otro conversor con MAXIM232. ¿Es necesario ese chip Maxim232 o solo se necesita ese conversor?

*Este es el conversor Prolific PL2303*



Me surge la duda que al poner en corto RX y Tx y hacer la prueba en HyperTerminal de Windows obtengo el echo, escribo texto y recibo texto, pero al conectarlo a una interfaz TX, RX y Gnd de un disco duro obtengo caracteres raros o a veces ni siquiera respuesta a los comandos que se esperan para iniciar el diagnóstico de un disco duro Seagate...

Conecto el modulo PL2303 al PC, ejecuto Hyperterminal con la configuración de baudios a 38400, conecto el disco duro con las terminales que trae. TX, RX y GND.  Empleo las conexiones en ambos tipos: 

*Conexión 1*
Disco Duro - PL2303
TX---TX
RX---RX
GND---GND

*Conexión 2*
Disco Duro - PL2303
TX---RX
RX---TX
GND---GND




La cuestión es que no logro comunicación con el disco duro, ¿Necesito adaptar el Maxim232?

Gracias por su interés en mi duda.


----------



## Dr. Zoidberg (Sep 24, 2019)

Hace falta un MAX232 si necesitas conectarte a interfaces de norma RS-232. YO dudo que el disco tenga esa interfaz, así que conseguí la información del hard del disco para saber como y con que se conecta.
Yo compré un par de esos módulos pero con otro chip y la salida serie era TTL (de 5V) y/o de 3.3V, pero no era RS-232. Con ese módulo desbloqueé un router TP-Link que había "brickeado" por hacer experimentos con el firmware...


----------



## heidyvanesa19 (Sep 24, 2019)

Tengo salida serie de 5 voltios y de 3.3 voltios, es el mismo que te indico en la fotografía, lo compre como modulo "Arduino PL2303"
Es el que deseo emplear... 


La foografía que te muestro en el post es de las conexiones del Seagate barracuda de 500GB que tiene el famoso error de quedarse en modo Sleep y nunca mas despertar... Así que segun entiendo lo que me indicas, con este modulo que tiene también esos voltajes... Además de eese modulo necesito el Maxim232..... ¿Es correcto?


----------



## Dr. Zoidberg (Sep 24, 2019)

heidyvanesa19 dijo:


> ¿Es correcto?


No, no es correcto. Si pones el Max232 vas a quemar el controlador del disco.
En la foto se vé que trabaja a 5V, asi que asegurate que la interfaz esté configurada para trabajar con 5V y conectalo directamente.


----------



## heidyvanesa19 (Sep 24, 2019)

pues ya lo conecte y no sucede nada, no me reconoce los comandos, tanto en modo directo como en modo inverso de datos... No recibo nada.

Entonces... según entiendo... Ese modulo PL2303 que es un puerto virtual COM por medio de USB, que tiene salidas de TX, RX, GND, 5V, 3.3V, se debe poner directo a los pines del disco duro TX, RX y GND. Pues eso mismo hago y no me funciona. No me reconoce la comunicación. Por eso pensé que necesitaba el Maxim232 a la salida de los pines de ese modulo PL232 para adaptarlo y por medio del Maxim232 leer la placa del disco duro...

Actualmente:
PC --->PL2303---->Disco duro [No hay comunicacion]

Pienso que si hiciera esto:
PC --->PL2303---->Maxim232----> Disco duro [  ?  ]

Pudiera leer la información.

Me baso en la premisa de que es un puerto fisico y necesito de un Maxim232, tal como esta imagen, Asumiendo que el puerto Com virtual es el mismo PL2303... entonces esa es mi duda...


----------



## Dr. Zoidberg (Sep 24, 2019)

Leé el datasheet del MAX232!
Ese chip te va a convertir el 1 TTL en -12V y el 0 TTL en +12V...algo vas a quemar, pero si queres hacer la prueba...

Pero antes, conectá directamente la interfaz y asegurate que esté trabajando con +5V y que tenes la velocidad correcta de transmision!!!


----------



## TRILO-BYTE (Sep 24, 2019)

Ese conversor así como está úsalo.
Solo debes saber qué baudrate deberías usar para el disco duro, ver su paridad y el número de bits.


----------



## miborbolla (Sep 24, 2019)

Hola, no necesitas mas que el Convertidor PL2303 y el disco duro.

¿Que debes tener en cuenta o probar?

1.- Para asegurarte que todo esta en orden del lado de la PC (Baudios, etc) ; puentea TX con RX del PL2303 (sin el disco duro obviamente) y desde tu software de comunicaciones deberías tener un eco de lo que tecleas. Yo utilizo para la comunicación el software Putty con el cual he reparado varios Discos duros Seagate como lo que pretendes hacer. Si logras tener el ECO ya puedes pasar al paso numero dos.

2.- Debes identificar correctamente TX y RX del disco duro y, obviamente el TX del PL2303 al RX del Disco duro, lo mismo del RX del PL2303 al TX del disco duro. Otra cosa, el *Disco Duro No debe tener conectado nada al conector SATA.*

3.-Yo he encontrado que dependiendo del disco duro pueden cambiar los Baudios aunque por omisión son;

BPS - 38400
Data Bits - 8
Parity - None
Stop Bits - 1
Flow Control - None

4.-Ya con todo conectado, entrar al Putty e iniciar la comunicación, acto seguido, energizar la tarjeta del disco duro. y Utilizar la combinacion de teclas *Ctrl+z* para "invocar" el modo terminal y poder comenzar con los "*Seagate F3 Terminal Command Set"*

Saludos y Éxito...


----------



## heidyvanesa19 (Sep 25, 2019)

Hola, les escribo y les respondo a todos agradeciendoles por su colanboración.

@miborbolla Te comento que eso fue lo que hice, lo puse directamente a los pines del Seagate y nada, peero si hago el puente, recibo el echo, lo hice con Putty y con Hyperterminal. Funciona la comunicación. Al hacerlo directo a los pines no hay respuesta y para colmo lo he hecho con otros discos duros sata en buen estado y tampoco me funcionan, por eso dudé de si era correcto hacer la interfaz con Maxim232. Lo que indicas lo hice tal cual y hay un tutorial paso a paso... es lo mismo que me indicas y nada 

@TRILO-BYTE SI eso mismo hice, configure los baudios... Tal cual... Nada

@Dr. Zoidberg El voltaje seria de 5 voltios tomados de la USB, según lei en el tutorial usando el Maxim232 se toman de la fuente e poder ATX del PC, los 5 voltios para el circuito.

Este es el tutorial que sigo:
The Solution for Seagate 7200.11 HDDs

En español:
Reparacion del ST3500320AS SD15 en ESPAÑOL

Hare de nuevo las pruebas. 

El driver del módulo Prolific PL2303 que estoy instalando es una versión vieja por 2 razones:
1. Sigue funcionando
2. Descubrí que como siempre, los chinos están produciendo PL2303 piratas.

Razón por la cual hay módulos tan baratos como el que yo he comprado (me costó sólamente un 1 US Trump) y s razón también para sospechar, entonces en un comunicado que leí, Prolific actualizó su Driver (controlador) a una versión mas reciente y ese Driver está bloqueando esos módulos piratas haciendo que no funcionen (Error de Windows 10 en administrador de Dispositivos salta el cartel de ERROR 10 y un ícono amarillo de admiración)

VID_067B&PID_2303 for "Prolific USB-to-Serial Comm Port"



Haré más pruebas y ya les contaré más adelante y, como siempre, geniales sus aportes y ayuda de cada uno.

Bendiciones a todos...


----------



## Dr. Zoidberg (Sep 25, 2019)

Yo compré este: € 1.03 15% de DESCUENTO|1 piezas CP2102 Módulo de USB a UART serie TTL que STC cable de descarga PL2303 Super cepillo línea actualización-in Circuitos integrados from Componentes y suministros electrónicos on Aliexpress.com | Alibaba Group
y de acá se bajaban los drivers: USB to UART Bridge VCP Drivers - Silicon Labs


----------



## heidyvanesa19 (Sep 25, 2019)

Es similar al que he comprado, las mismas características, solo que es de Prolific...


----------



## Dr. Zoidberg (Sep 25, 2019)

Probá suerte con lis drivers del CP2102...


----------



## heidyvanesa19 (Sep 25, 2019)

Ese era el inconveniente!!! Gracias por el Driver, le di forzar instalación y me ha funcionado!!!! Gracias!





Dr. Zoidberg dijo:


> Probá suerte con lis drivers del CP2102...


----------



## TRILO-BYTE (Sep 25, 2019)

Menos mal a mi me pasó con un Bluetooth.
Siempre hay que ver los drivers como último recurso


----------



## D@rkbytes (Sep 25, 2019)

Adjunto el instalador oficial del controlador para el chip PL2303 que uso en Windows 10 x64


----------



## David260115 (Oct 8, 2019)

juan2cruz dijo:


> Ya esta, lo solucione... El problema estaba que la Netbook creía que no tenía un puerto serial.
> 
> Para solucionarlo fui a Panel de control -> Sistema -> Hardware -> Administrador de dispositivos
> (También se puede llegar haciendo click derecho en Mi Pc -> Hardware -> Administrador de dispositivos)
> ...


Buena tarde, yo tengo el mismo problema pero no se corrije, estoy usando el windows 10, y no tengo comunicación, me pueden apoyar de favor...


----------



## heidyvanesa19 (Oct 8, 2019)

Eso pasa por que esos 2303 son imitaciones chinas, por eso Prolific actualizó los drivers bloqueando los que no son de su propiedad... Eso mismo me paso a mi


----------

