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
[Quizmaster] Na wer weiß weiter? [/Quizmaster] Gruß Bernhard
Gast
#2041213
Nach knapp 24 (in Worten vierundzwanzig) Minuten zu pushen ist einfach unhöflich. DU hast das Problem und nicht wir. Ich lass Dir mal ein paar Wochen Zeit darüber nachzudenken.
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 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
Fazit: Der Int wird nur sehr kurzzeitig gesperrt, du hast ein anderes Problem. Poste mal deinen Code...
Hallo lkmiller, Ich denke mal das reicht mir erstmal als Info. Danke. Gruß Bernhard
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.