Estoy intentando leer datos de un USB utilizando el módulo CH376 con el microcontrolador PIC 18f4520.
El nombre del archivo que estoy tratando de leer es "ABC.txt" y contiene "hola".
// Instructing module which file to read
SerialTransmit(0x57);
SerialTransmit(0xAB);
SerialTransmit(0x2f);
SerialTransmit(0x2f);
SerialTransmit('A');
SerialTransmit('B');
SerialTransmit('C');
SerialTransmit('.');
SerialTransmit('T');
SerialTransmit('X');
SerialTransmit('T');
SerialTransmit(0x00);
init_lcd();
lcd_string("fn");
function_int(RCREG);
DelayMS(1);
// Opening the File
SerialTransmit(0x57);
SerialTransmit(0xAB);
SerialTransmit(0x32);
init_lcd();
lcd_string("open");
function_int(RCREG);
DelayMS(2000);
if(RCREG!=0x14)
{
init_lcd();
lcd_string("open not ok");
while(1);
}
else
{
init_lcd();
lcd_string("open ok");
DelayMS(1);
}
i=0;
// Setting to read 5 bytes
SerialTransmit(0x57);
SerialTransmit(0xAB);
SerialTransmit(0x3A);
SerialTransmit(0x05); // here
SerialTransmit(0x00);
i++;
init_lcd();
lcd_string("dl");
function_int(RCREG);
DelayMS(2);
if(RCREG!=0x1D)
{
init_lcd();
lcd_string("dl not ok");
while(1);
}
else
{
init_lcd();
lcd_string("dl ok");
DelayMS(1);
}
// Reading
SerialTransmit(0x57);
SerialTransmit(0xAB);
SerialTransmit(0x27);
// It reads the first byte here, first byte is a waste byte i.e.
// it returns 0x05 (The number of bytes we want to read)
init_lcd();
lcd_string("0read");
function_int(RCREG);
DelayMS(3000);
// It reads the first byte here, i.e. H
init_lcd();
lcd_string("1read");
function_int(RCREG);
lcd_string("==");
lcd_data(RCREG);
DelayMS(3000);
// It is supposed to read 'E' here, but it still reads 'H'
init_lcd();
lcd_string("2read");
function_int(RCREG);
lcd_string("==");
lcd_data(RCREG);
DelayMS(3000);
// It is supposed to read 'L' here, but it still reads 'H'
init_lcd();
lcd_string("3read");
function_int(RCREG);
lcd_string("==");
lcd_data(RCREG);
DelayMS(3000);
while(1);
Puedo configurar e instruir al módulo para que abra y comience a leer el archivo. Pero el problema es que estoy atascado en el primer byte. No puedo leer el segundo byte. ¿Cómo puedo hacerlo?
Gracias, realmente apreciaré cualquier ayuda.