Muchas gracias Nano por contestar... y por la rapidez... porq sigo probando y nada ... es mas instale el mikro C para ver si cambiaba algo pero parece q no entiendo muy bien la configuracion y no me funciona tu programa... pero bueno te muestro el codigo q adapte al CCS que es basicamente el tuyo adaptado:
#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)
#USE RS232(BAUD=15625, XMIT=PIN_C6, RCV=PIN_C7, STREAM=RFID)
#USE RS232(BAUD=19200, XMIT=PIN_B7, RCV=PIN_B6, STREAM=PC)
//#use standard_io(C)
#define USB_HID_DEVICE FALSE //deshabilitamos el uso de las directivas HID
#define USB_EP1_TX_ENABLE USB_ENABLE_BULK //turn on EP1(EndPoint1) for IN bulk/interrupt transfers
#define USB_EP1_RX_ENABLE USB_ENABLE_BULK //turn on EP1(EndPoint1) for OUT bulk/interrupt transfers
#define USB_EP1_TX_SIZE 1 //size to allocate for the tx endpoint 1 buffer
#define USB_EP1_RX_SIZE 1 //size to allocate for the rx endpoint 1 buffer
#include <pic18_usb.h> //Microchip PIC18Fxx5x Hardware layer for CCS's PIC USB driver
#include <PicUSB.h> //Configuración del USB y los descriptores para este dispositivo
#include <usb.c> //handles usb setup tokens and get descriptor reports
char Dato=0; // *Rec;
unsigned char Mje_ini[] = "Inicia";
unsigned char Mje_AntOK[] = "Antena Sintonizada!";
unsigned char Mje_AntNOP[] = "Error en antena!";
char Configuracion;
main() {
setup_uart(false,RFID);
delay_ms(1000);
SET_TRIS_C(0xBF);
output_bit( PIN_C6, 1);
delay_ms(2000);
//Soft_Uart_Init(PORTB, 0, 1, 19200, 0); // PC <----> uC 19200baudios //
fprintf(PC,"Iniciando...\n"); //Text_To_Usart(Mje_ini); // muestra en el terminal de la Pc el mje "inicia"
//lo que me indica que el puerto funciona correctamente
//////////////////////////// INICIA CONFIGURACION DEL TMS3705 //////////
output_bit( PIN_C6, 0); //PORTC.F6=0; // baja linea TX
delay_us(50);//delay_us(50); // 50us pasa al modo IDLE
output_bit( PIN_C6, 1); //PORTC.F6=1; // levanta linea TX
delay_us(2050);// espera el Tinit = 2.05ms o 2050uS
output_bit( PIN_C6, 0);
//Usart_Init(15625); // inicializa usart uC <---> RFiD a 15625 Baudios
//--------------------------------------------------------------------
delay_us(2700); //2140
setup_uart(true,RFID);
//set_uart_speed(15625,RFID);
Configuracion=0x81;
fprintf(PC,"variable:%x\n\r",Configuracion);
DB: //fprintf(RFID,Configuracion); //Usart_Write (0b10000001); // manda configuracion
fprintf(PC,"Esperando Byte de diagnostico\n");
while (kbhit(RFID)==0) // espera byte de diagnostico
{
// fprintf(compu,"*"); //PORTC.F0=1; // enciende led rojo que indica la espera
//PORTC.F1=0; // mas que nada, es un indicador
}
Dato=fgetc(RFID);//Dato = Usart_Read();
fprintf(PC,"\n Byte de diagnostico:");
fprintf(PC,"%x \n",Dato);//Soft_Uart_Write(Dato); // manda el dato leido a la PC
if (Dato==0xAF)
{
fprintf(PC,"Dato leido Correctamente!!!...");//PORTC.F0=0;
//PORTC.F1=1; //enciende led verde como indicador
}
else {
goto DB; //si no es el caracter esperado vuelve
}
delay_us(49360); //retardo de aproximadamente 50uS
//Usart_Init(15625); //habilita el puerto serie nuevamente
output_bit( PIN_C6, 1); //PORTC.F6=1; //coloca en 1 la linea TX
////ESPERA LA TRAMA DE DATOS Y MANDA POR EL PUERTO SERIE EMULADO EN EL PORTB ///
fprintf(PC,"Esperando Codigo de Tarjeta");
TD: while (kbhit()==0)
{
fprintf(PC,"."); //PORTC.F0=1;
//PORTC.F1=0;
}
// PORTC.F0=0; led
// PORTC.F1=1;
Dato=fgetc(RFID); //Dato = Usart_Read();
fprintf(PC,"Codigo de Tarjeta:");
fprintf(PC,"%x",Dato); //Soft_Uart_Write(Dato); // manda datos a la pc
goto TD;
for ( ; ; );
}
ya probe con todo lo q puedas imaginar, cambie hasta los delay y todo pero nada... creo q la interpretacion es igual a la que haces vos en el primer firmware que subiste a no ser q hayas modificado algo...
yo el 05 que leo lo interpreto que puede llegar a ser la parte alta del AF como que la lee truncada pero no se es solo suposicion... a vos q te parece??? la verdad q ya no se nos ocurre q mas probar... la placa es la q sale en la nota de aplicacion y la revisamos miles de veces y esta bien...