USB LPC1343 enviar string de dados

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

USB LPC1343 enviar string de dados

Mensagempor cristian » 24 Jun 2011 14:39

realmente é nescessario tanto arquivo pra usar o USB , so para enviar e receber uma string ?

USBHW_LPC13XX.C
USBCORE.C
USBDESC.C
USBUSER.C
HIDUSER.C

isso fora os Header

eu so quero de inicio enviar a conversao de uma temperatura pela usb

U8 TempBuf[] /// ou seja "Temp= 23.5C"

me parece q tudo se resume a duas funçoes


Código: Selecionar todos

/*------------------------------------------------------------------------------
  Get HID Input Report -> InReport
 *------------------------------------------------------------------------------*/
void GetInReport (void) {

     InReport='d';
}



/*------------------------------------------------------------------------------
  Set HID Output Report <- OutReport
 *------------------------------------------------------------------------------*/
void SetOutReport (void) {
 
Beep(1);

if(OutReport=='1')
{
 GPIOSetValue( LED_PORT, LED2_BIT, LED_ON );
}
if(OutReport=='2')
{
 GPIOSetValue( LED_PORT, LED2_BIT, LED_OFF );
}

}


mais ja tentei usar estas funçoes e nao envia string.....

se eu mandar uma string com 10bytes essa funçao é chamada 10vezes

coloquei um led piscando e ele para de piscar , ou seja , o LPC para tudo so pra receber um byte ????

qual a diferença entre USB HID e USBHIDROM????
cristian
Word
 
Mensagens: 570
Registrado em: 03 Nov 2006 08:15
Localização: serrinha-ba

Mensagempor cristian » 26 Jun 2011 00:13

conseguir avançar em alguma coisa aqui ....

pelo q entedi o LPC fica a cada 1ms chamando a funçao GETINREPORT e o valor que estiver na variavel InReport é transmitido pela usb

coloquei um led pra ver quantas vezes é acessado , e ao jogar no frequencimetro me deu a leitura de 64ms ate ai tudo bem

mas pra receber um dado da usb usa o SETOUTREPORT , mas tem um porem ao receber um dado do USB ele interrompe a transmissao e recomeça do segundo byte tipo assim a string é

TEMP=23,5C se receber um dado aqui fica assim

TEMP= EMP=23,5C // ou seja ele interrompeu e começou cortando o T

.................

é isso mesmo ?

estou no caminho certo ??

tem como melhorar isso ??

ou seja , uma funçao q so envie a string quando eu pedir e que ao receber do host nao se perca dados

.... estou estudando , mas SOZINHO fica + dificil ... entao alguem pode ajudar ?

Código: Selecionar todos
 
/*------------------------------------------------------------------------------
  Get HID Input Report -> InReport
 *------------------------------------------------------------------------------*/
void GetInReport (void) {

 U8 x;
 InReport=UARTBuffer[enviar++];

 if(enviar>20)enviar=0;



if(estado)
{
GPIOSetValue( LED_PORT, LED2_BIT, LED_OFF );
estado=0;
}
     else{

      GPIOSetValue( LED_PORT, LED2_BIT, LED_ON );
      estado=1;
      }
}

/*
 *  Set HID Output Report <- OutReport
 */
void SetOutReport (void)
 {



   uint8_t PCOutReportData = OutReport;

   /* Check the bits of the "OutReport" data from the PC
    * and set the output port status.
    */
 enviar=1;

  UARTSend(&OutReport,1);

}
cristian
Word
 
Mensagens: 570
Registrado em: 03 Nov 2006 08:15
Localização: serrinha-ba


Voltar para ARM

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x