UART Datenempfang während EEPROM Schreiben

OP #2041169
Lesenswert?
• ▲
▼
Hallo,

ich wollte mal eine allgemeine Frage stellen.

Bei meinem Controller - einem ATMEGA 2561 - dauert das Beschreiben einer 
EEPROM Speicherzelle 3,3 ms. Das ist natürlich sehr viel. Werden nun 
während dieser Zeit komplett alle Interrupts gesperrt oder nur während 
diverser Assemblerbefehle innerhalb der 3,3 ms?

Denn ich habe ein Problem, dass manchmal einkommende Zeichen über UART 
während des Beschreibens nicht mehr abgehandelt werden. Ich nutze die 
eeprom_write_byte - Funktionen innerhalb einer Schleife über max. 16 
Zeichen, zum Empfang der UART Zeichen nutze ich Interrupts.

Wie verhält es sich da? Interruptsperre während der kompletten 3,3 ms 
oder nur kurzfristig?

Gruß

Bernhard
Moderator (Firma: Titel) Persönliche Seite #2041219
Lesenswert?
• ▲
▼
Bernhard N. schrieb:
> Na wer weiß weiter?
Wie wärs mit selber schauen?
Z.B. dort, wo eeprom_write_byte() definiert wird, in eeprom.h?

> Interruptsperre während der kompletten 3,3 ms oder nur kurzfristig?
Was sagt der Quellcode?
1
        "/* START EEPROM WRITE CRITICAL SECTION */\n\t"
2
        "in  r0, %[__sreg]    \n\t"
3
        "cli        \n\t"                      ---- Ints sperren
4
        "sbi  %[__eecr], %[__eemwe]  \n\t"
5
        "sbi  %[__eecr], %[__eewe]  \n\t"
6
        "out  %[__sreg], r0    \n\t"           ---- Ints wieder herstellen
7
        "/* END EEPROM WRITE CRITICAL SECTION */"
Fazit:
Der Int wird nur sehr kurzzeitig gesperrt, du hast ein anderes Problem.

Poste mal deinen Code...

Antwort schreiben

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.

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.