Hola, recurro a ustedes por la siguiente duda.
Estoy haciendo un conversor USB<->Serial con un PIC 18F2550, y me pasa lo siguiente:
La transmisión serial a USB funciona bien y los datos que envió por el uart del PIC aparecen bien en el COM virtual.
El problema es que cuando transmito del USB al serial siempre me llega un caracter raro, no se que pueda ser lo que sucede.
Este es el programa con el que estoy trabajando:
#include <18F2550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)
#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7, parity=n, bits=8, stop=1)
#include ".\include\usb_cdc.h"
#byte PORTA = 0xF80
#byte PORTB = 0xF81
#byte PORTC = 0xF82
#byte PORTE = 0xF84
char car;
void Configurar_Puertos(void);
void main()
{
delay_ms(100);
Configurar_Puertos();
usb_init();
while(!usb_cdc_connected()){}
do{
usb_task();
if (usb_enumerated())
{
if (kbhit())
{
car=getc();
usb_cdc_putc(car);
}
if (usb_cdc_kbhit())
{
car=usb_cdc_getc();
putc(car);
}
}
}while(true);
}
void Configurar_Puertos(void)
{
set_tris_a (0b00000000);
set_tris_b (0b00000000);
set_tris_c (0b11000000);
set_tris_e (0b00000000);
}
Quiza el problema sea algo en la instrucción
if (usb_cdc_kbhit())
{
car=usb_cdc_getc();
putc(car);
}
Igual espero que me puedan ayudar, gracias