mikrocontroller.net

Forum: FPGA, VHDL & Co. Probleme mit Microblaze und variablen Ausgabe


Autor: Herr der Augenringe (momentan) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

ich hab nen Microblaze in einem Spartan 3 XC3S200 laufen.
Jetzt will ich scannen ob an einem der inputs eine 1 anliegt bzw an 
mehreren.
Dazu scanne ich den input 10000 mal und verknuepfe das mit einem oder in 
eine andere variable so das sich das ding quasi "merkt" welcher pin high 
war (auch wenns schon wieder weg ist) danach will ich die 8 bit von 
occurred (unsigned char) ueber den UART ausspucken aber irgendwo kracht 
es

Der Code
for (i=0; i<=10000; i++)
  {
  data=XGpio_DiscreteRead(&gpPB, 1);  // daten lesen
  if (data != 0)  // wenn ein pin gerade high ist dann
    {
    occurred = (occurred | data);  // in occurred "einodern" 
    }
  }
if (occurred != 0)
  {
  xil_printf(occurred);  // den hexwert an den uart ausgeben
  }
else
  {
  xil_printf("0");  // an sonsten null ausgeben (ich weiss das kann
  }                 // ich mir eigentlich sparen
}
wenn ich das so mache bekomme ich nur sondermuell wenn die daten mal 1 
waren.

Wenn ich ein das xil_printf ein &occurred schreibe bekomme ich 16 bit 
von denen das este byte korrekt aussieht das 2 aber voelliger muell ist.

occurred und daten sind beide unsigend char.

 Danke fuer die Hilfe

  Tobi

Autor: Herr der Augenringe (momentan) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag

ich VERMUTE das er mir wenn ich xil_printf(&occurred) mache der 
komplette inhlt der speicherzelle von mit der addresse occurred 
ausgegeben wird und das die anderen 8 bit quasi "random" sind.

Weiss irgendwie wie das ist und ob es fuer das xil_printf ne doku gibt 
in der so was steht? Habs in der API nicht gefunden.

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]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.