Ok, pelo que entendi então o hardware de USB de um Device é diferente do harware de USB de um Host, é isso?
Se for isso, concordo então. Senao, hardware por hawdware o segredo estaria então na implementação do firmaware de controle?
.
Moderadores: 51, guest2003, Renie, gpenga
fabim escreveu:xultz escreveu:Ah loco, eu não deixava!
Porrada! Porrada! Porrada! Porrada! Porrada! Porrada! Porrada!
á sim silvio51, realmente o P/N LPC2368 é muito parecido com LPC1766... tendi...
Aff, to saindo precisando de mim, não conte comigo..
Blá blá blá blá blá.... calma menina.... desceu do salto ? Errei de micro.... me referia ao LPC2388... é que tá uma "LPCzada" só aqui.... confundí os troço... com ele sim: Dá pra fazer Host ( o LPC1766 também).
// retorna !=0 se chegou alguma coisa.
unsigned short USB_HID_Read(unsigned char *DstPtr, unsigned short MaxLen){
unsigned short ByteCount, I, E;
unsigned char * SrcPtr ;
E = (BDEP1OUTStat & 0b10000000);
if (!E) { // ja leu ? caso tenha dito para o host ler ?
//sim, ja leu
ByteCount = BDEP1OUTCnt; // get bytecount of EP1 out buffer
if (ByteCount > MaxLen){ ByteCount = MaxLen;}
if (ByteCount){ // non empty
SrcPtr = BDEP1OUTAdr; // Source data pointer
I = ByteCount; //aloca bytes a serem escritos, e apaga o restante
while(I){
* DstPtr++ = * SrcPtr++; //
I--; } //pega dados do meu array no main, e coloca dentro do
} // array BDEP1OUTAdr
// prepare the buffer for next transfer
BDEP1OUTCnt = USB_BUFF_SIZE;//tamanho do array máximo
BDEP1OUTAdr = &BuffEP1OUT; //endereço do array que o host le BDEP1OUTStat &= USB_DTSMASK; // save only the data 0/1 bit
BDEP1OUTStat ^= USB_DTSMASK; // toggle data 0/1
BDEP1OUTStat |= USB_DTSEN; // set the DTS bit
BDEP1OUTStat |= USB_USIE; // set the UOWN bit
return(0xff);
}else{
return(0x00);}
}
fabim escreveu:Proex.
Veja bem, quando se diz uma pequena diferença, não não é uma grande diferença.
BLZ ?
Abraços
Fabim
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante