www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik usb 2.0 mit control pannel


Autor: Hallo Hallo (Firma: gast) (hamdou)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo zusammen,
kann jemand bitte mir sagen,wie kann ich daten in FIFOS direkt schreiben
und von dort wieder lesen mittels usb control pannel,
ich habe das folgende quell code  geschrieben aber hat nicht gecklappt.
   SYNCDELAY;
EP8FIFOBUF[ 0 ] = 0x02;
EP8FIFOBUF[ 1 ] = 0x06;
EP8FIFOBUF[ 2 ] = 0x07;
EP8FIFOBUF[ 3 ] = 0x03;
SYNCDELAY;
EP8BCH = 0x00;
SYNCDELAY;
EP8BCL = 0x04; // pass newly-sourced buffer on to host
      xFIFOBC_IN = ( ( EP6FIFOBCH << 8 ) + EP6FIFOBCL ); // get 
EP6FIFOBCH/L value

      if( xFIFOBC_IN < 0x0200 )         // if pkt is short,
      {
        INPKTEND = 0x06;                // force a commit to the hoste}

Autor: Termite (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin
gibts dazu noch ein paar nähere Infos?
Welcher Controller z.B. was verstehst du unter Controll Panel? ein 
element deiner IDE?

gruss

Autor: Hallo Hallo (Firma: gast) (hamdou)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
EZ_usb control panel ist ein software damit kann man daten ,die in usb 
controller EZ-usb 2.0 fx2(firma cypress) rein oder raus 
kommen,simulieren
und ich habe bei anhang ein pdf datei die das erklärt.
mir geht darum, daten von usb controller zu senden.

MfG

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau dir bitte mal die Beispiele wie BulkLoop oder BulkText an, die im 
Entwicklungspaket des EZ-USB sind. Da ist das im Quelltext einigermaßen 
gut dokumentiert.

Autor: Hallo Hallo (Firma: gast) (hamdou)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke sehr für die hinweise ,aber leider das bringt nicht zu viel weil 
das habe ich schon gesehen,er benutzt die gpif designer,und ich wollte 
einfach die Fifos benutzen um die daten  zwichenzuspeicheren und an die 
host weiter schicken.umdie daten in fifos zu speicheren benutze ich ein 
port pin zum beispiel pa.0(daten kommen seriell,werden in fifo 
gespeichert un dann an die pc geschickt).

MfG

Autor: mars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Das Bulkloop Demo kopiert ke5r 8051 µC die Daten von einen Endpoint in 
den Anderen. Es wird kein GPIF, oder FIFO Mode verwendet.

Autor: Hallo Hallo (Firma: gast) (hamdou)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das ist richtig,aber ich wollte auf ein fifo zugreifen zum beispiel 
schreibe ich ein hex wert in einem endpoint und dann wollte ich diese 
wert an pc schicken,wo ich mittels control panel dise hex wert sehe.
das heisst ,ich benutze ein endpoint als IN transfer:in diese endpoint 
fifo schreibe ich diese hex wert.
kann mir jemand bitte sagen ob ich direkt dise wert schreiben kann oder 
muss ich erstmal ein endpoint für out transfer definiere und von dort 
die hex werte schicke .(das habe ich gemacht und hat funktionniert),aber 
ich wollte am endeffekt daten von draussen(adc)seriell kriege und in 
port pin zum beispiel pa.0 anschliesse und von dort die daten in ein 
endpointfifo(IN transfer)zwichenspeichere und weitereschicke zum pc.
dass heisst ich brauche kein kopierung von daten von ein endpoint in 
andere endpoint.
MfG

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst auf Manual-In schalten, und dann kannst du auch selbst (also 
die CPU) Pakete in den FIFO schreiben. Steht auf Seite 137 im Technical 
Reference Manual. Da stehen ja auch Beispiele dabei. Aber wieso willst 
du unbedingt die Slave FIFOs verwenden? Die sind eigentlich zum Betrieb 
mit einem externen Master (FPGA...) gedacht. Viel einfacher geht das 
über die Endpoint-Buffer, wie im BulkLoop Demo.

Autor: Hallo Hallo (Firma: gast) (hamdou)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten abend,
kann man bitte mir sagen wo ich eine fehler gemacht habe?
ich habe folgendes quellcode jetzt verwendt um einige byte am pc zu 
schicken, aber ich bekomme falsche byte(nicht wie sie definiert)
und danke schön in voraus.
void TD_poll(void)
{
word x;
  if(!EP2468STAT &bmEPFULL))
    {
      for(k=0;k<8;k++)
       {
         aH[k]=1;
       }
      for(h=0;h<8;h++)
       {
        aL[h]=1;
       }
  APTR1H=&aH;
  APTR1L=&aL;
  AUTOPTRH2=MSB(&EP6FIFOBUF);
  AUTOPTRL2=MSB(&EP6FIFOBUF);
  for(x=0x0000;x<0x0200;x++)
  XAUTODATA2=XAUTODATA1;

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.