TWI-Leistung je nach Breakpoints bei AT91

Gast #912942
Moin,

ich programmiere einen AT91SAM7X256 und möchte über I²C ein EEPROM 
auslesen. Dazu habe ich mir das Beispiel: 
basic-twi-eeprom-project-1.4-at91sam7x-ek von Atmel angeschaut und die 
Methoden davon in mein Programm eingebaut.

Ich lese innerhalb einer Schleife immer eine Variable (also Daten von 
ein paar Byte) mit mit der Methode TWID_Read in synchronen Modus aus, 
analysiere die und speichere die dann. Ein Schleifendurchlauf holt eine 
Variable, ingesamt müssten über 100 Variablen auf diese Weise geholt 
werden.

Das läuft auch ganz flüssig, solange ich einen Breakpoint der Schleife 
habe. Wenn ich mehrere Durchläufe auf einmal machen lasse, dann bleibt 
das Programm  an dieser Stelle hängen:

1
// Wait for transfer to be complete
2
        while (!TWI_TransferComplete(pTwi));

Im Statusregister (TWI_SR) sind die Bits 0, 2, 3 gesetzt, das sind die 
Bits TXCOMP, TXRDY und ein unbenanntes Bit.

Derzeit arbeite ich mit CrossStudio für ARM 1.6 von Rowley.

Im Anhang ist ein Oszilloskopbild von einer der übertragenen Variablen. 
Oben ist Datenleitung, unten ist Taktleitung.

Hat einer von Euch eine Idee, warum das beim einzelnen Lesen 
funktioniert aber nicht, wenn ich alle Durchläufe auf einmal mache?
Angehängte Dateien:

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]
  • [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.