Registerlesen Problem wenn nicht Debug-Mode

Gast #5618319
Lesenswert?

Hallo zusammen,
ich hab da ein kleines Problem, wo ich nicht weiter komme. Vielleicht ja 
ja jemand anders eine Idee.
Ich verwende einen Zynq SoC mit Vivado 18.2 und will ein abhängig von 
einem Registerbit (des XADC) in eine if rein. Der Code sieht cirka so 
aus:
1
#include <xsysmon.h>
2
[...]
3
while(1){
4
  if ((XSysMon_ReadReg((&XSysMonInst)->Config.BaseAddress, 0x04) & 0x40) == 0x40)
5
  {
6
     //hier passiert was
7
  }
8
}

Mein Problem ist jetzt, wenn ich das Debuge funktioniert alles. Wenn ich 
das aber ohne Debug laufen lassen, passiert nichts mehr.

Wäre cool, wenn mir jemand eine Idee hätte!
Gast #5618425
Lesenswert?

Da findet meine Auslesung des AD-Wandlers statt. Sollte nicht.

Ich möchte mit dem if() feststellen, ob die Wandlung beendet ist (hier 
existiert ein Bit im Statusregister, das nach dem Lesen mit 
XSysMon_Read() immer wieder gelöscht wird.) und wenn das passiert ist, 
soll eben der digitale Wert ausgelesen werden.

Anmerkung zur Problemstellung (was mir gerade noch einfällt), dass der 
Lesezugang zu schnell passiert habe ich mir schon überlegt und ein 
usleep(2); eingebaut, ohne Erfolg

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren