Probleme mit Microblaze und variablen Ausgabe

Gast #924396
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
1
for (i=0; i<=10000; i++)
2
  {
3
  data=XGpio_DiscreteRead(&gpPB, 1);  // daten lesen
4
  if (data != 0)  // wenn ein pin gerade high ist dann
5
    {
6
    occurred = (occurred | data);  // in occurred "einodern" 
7
    }
8
  }
9
if (occurred != 0)
10
  {
11
  xil_printf(occurred);  // den hexwert an den uart ausgeben
12
  }
13
else
14
  {
15
  xil_printf("0");  // an sonsten null ausgeben (ich weiss das kann
16
  }                 // ich mir eigentlich sparen
17
}
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
Gast
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

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.