www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

HID in daljši InReport

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
jvolk
Član
Član



Pridružen-a: Ned 05 Mar 2006 1:14
Prispevkov: 737
Aktiv.: 3.13
Kraj: okolica Divače

PrispevekObjavljeno: Tor Nov 18, 2008 11:54 am    Naslov sporočila:  HID in daljši InReport Odgovori s citatom

Pozdrav.

Igram se s LPC2148, in bi želel poslat več podatkov v enem paketu. Konfiguracijo USBja sem že uspel predelati tako, da mi program na PCju zazna, da imam 4 bajte dolg podatek.

Na strani mikrokontrolerja imam takole kodo.
Koda:
Koda:

void GetInReport (void) {
   char adcs[] = {0x07,0x02,0x03,0x00};

   InReport = *adcs;
}



Ko stvar zaženem dobim na PC strani "0x07 0x00 0x00 0x00", se pravi pošlje samo prvi bajt.

Ugotovil sem že, da se podatki ne prenašajo čez funkcije USB_EndPoint1 in USB_Configure_Event. Vsebujejo naslednjo kodo:

Koda:

  if (USB_Configuration) {                  /* Check if USB is configured */
    GetInReport();
    USB_WriteEP(0x81, &InReport, sizeof(InReport));
  }


V hiduser.c je funkcija HID_GetReport. V njej je tudi tole:

Koda:

      GetInReport();
      EP0Buf[0] = InReport;
      EP0Buf[1] = 0x33;   //to sem sam dodal
      break;


Tisto, kar sem dodal tam deluje.

A lahko tam napolnim moje podatke, ali je kaka bolj elegantna rešitev?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
.
Član
Član



Pridružen-a: Pon 23 Avg 2004 16:16
Prispevkov: 16777190
Aktiv.: 70646.20

PrispevekObjavljeno: Tor Nov 18, 2008 4:10 pm    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
NeoTO
Član
Član



Pridružen-a: Pon 28 Mar 2005 19:19
Prispevkov: 2752
Aktiv.: 11.59
Kraj: Trzic

PrispevekObjavljeno: Sre Nov 19, 2008 8:55 am    Naslov sporočila:  Re: HID in daljši InReport Odgovori s citatom

jvolk je napisal/a:
Pozdrav.

Igram se s LPC2148, in bi želel poslat več podatkov v enem paketu. Konfiguracijo USBja sem že uspel predelati tako, da mi program na PCju zazna, da imam 4 bajte dolg podatek.

Na strani mikrokontrolerja imam takole kodo.
Koda:
Koda:

void GetInReport (void) {
   char adcs[] = {0x07,0x02,0x03,0x00};

   InReport = *adcs;
}



Ko stvar zaženem dobim na PC strani "0x07 0x00 0x00 0x00", se pravi pošlje samo prvi bajt.

Ugotovil sem že, da se podatki ne prenašajo čez funkcije USB_EndPoint1 in USB_Configure_Event. Vsebujejo naslednjo kodo:

Koda:

  if (USB_Configuration) {                  /* Check if USB is configured */
    GetInReport();
    USB_WriteEP(0x81, &InReport, sizeof(InReport));
  }


V hiduser.c je funkcija HID_GetReport. V njej je tudi tole:

Koda:

      GetInReport();
      EP0Buf[0] = InReport;
      EP0Buf[1] = 0x33;   //to sem sam dodal
      break;


Tisto, kar sem dodal tam deluje.

A lahko tam napolnim moje podatke, ali je kaka bolj elegantna rešitev?


Si popravil, da je InReport array s 4 elementi?

_________________
Lp,
Matevž
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 7 dni


Powered by phpBB © 2001, 2005 phpBB Group