(Atmel-) Mikrocontroller: Interrupts und "lange" ISRs

den ich normalerweise verwende angesehen:

Dessen Endwert ist 0001... FFFFh per Register einstellbar, dann startet er wieder ab 0000. Er kann also einen krummen Teiler

Der Softwareteiler um auf 1Hz zu kommen ist dann 625d.

Assemblerprogramm im Interrupt das ein 1Hz Flagbyte setzt. Das Flag wird in der Endloschleife die in HLL programmiert ist ausgelesen.

HD44780 bei dem die Sekunden mit diesen 1Hz geschrieben werden.

MfG JRD

Reply to
Rafael Deliano
Loading thread data ...

Der avr-gcc macht das intern auch in der Art, s.u.

Wenn man via avr-objdump aus einem ELF-Binary die Symbol-Table anzeigen

Der Compiler macht es intern also im Prinzip so und erst am Ende wird alles zerlegt.

Dass etwas prinzipiell nicht funktioniert hat IMHO schon auch seinen Reiz.

Unterhalb dieser Limits empfinde ich die Architektur an sich aber deutlich weniger schlimm als du beschrieben hast.

______________

"Since all AVR instructions are 16 or 32 bits wide, the Flash is organized as [Anzahl Words] x 16 bits."

Reply to
Michael Bäuerle

Ja, ich dramatisiere. Man muss die AVRs halt auch im Kontext ihrer Zeit

8051, mit fast komplett externer Peripherie. Die ersten AVRs die ich dann in der Hand hatte, AT90S1200 und AT90S2313, waren dagegen eine ECHTE Offenbarung. Der 2313 hatte sogar ein UART mit drin, das war schon ziemlich cool und tonnenweise RAM. Das ist jetzt aber halt auch 14 Jahre

noch dazu, echt krass.

Mittlerweile hat aber ja auch Atmel/Microchip auf Cortex-M umgesattelt, dagegen konvergiert der Embedded-Bereich offenbar komplett -- und nicht

Architektur.

Aber ich werde mir deinen Tipp zu Herzen nehmen und versuchen,

Johannes

Reply to
Johannes Bauer

Am 14.08.2019 um 12:44 schrieb Wolfgang Allinger:

Du hast atomare Zugriffe nicht verstanden :-(

DoDi

Reply to
Hans-Peter Diettrich

Am 14.08.2019 um 13:15 schrieb Wolfgang Allinger:

Im DIY als Vorsatz vor den Oszi :-)

Mist bauen wie mit anderen Sprachen.

DoDi

Reply to
Hans-Peter Diettrich

Am 14.08.2019 um 17:42 schrieb Rafael Deliano:

mit dem Systemtakt synchronisieren.

DoDi

Reply to
Hans-Peter Diettrich

Am 14.08.2019 um 17:29 schrieb Johannes Bauer:

Das ist nicht ganz richtig. Die Segmentregister werden in eigenen

Verschwendung ;-)

DoDi

Reply to
Hans-Peter Diettrich

Das mag sein, aber war gar nicht meine Aussage. Sondern eben, dass die Adresse 0123:4567 immer der linearen Adresse 0x5797 im RAM entspricht, ganz gleich wo das passiert. Wenn im Segmentselektor-Register oder Offset, der in der Instruktion codiert ist, jeweils was drin steht, das

zeigen aber nie zwei *identische* Adressen, die auf unterschiedliche Bytes zeigen. Und das ist bei einer Harvard-Archtitektur anders und darum ging's mir.

ehrlichgesagt auch nicht so ganz. War damals bestimmt sinnvoll, die werden sich schon was gedacht haben dabei :-)

Johannes

Reply to
Johannes Bauer

snipped-for-privacy@aol.com (Hans-Peter Diettrich) am 15.08.19 um 05:44:

Dann ist es aber nicht billiger, denn er kommt ja zum Oszi /hinzu/.

reichte mir die Portpin/LED/Oszi-Methode bislang immer.

Rainer

Reply to
Rainer Knaepper

einsetzen kann ;-)

Liest man doch z.B. im KEA128Ref manual bei Real-Time-Counter , der genau fuer diesen Zweck als Software Calendar fungiert (genau was Ralph braucht mit Bsp. code), dass als Quelle ein externer Pin ohne Bus-sync eingesetzt werden kann :)

dann wird der externe Takt mit dem Bus Takt synchronisiert. Hinweis im Manual, "This clock signal must not exceed 1/4 of system clock frequency."

--
mit freundlichen Gruessen/ best regards Joerg Niggemeyer Dipl.Physiker 
WEB: http://www.nucon.de    https://www.led-temperature-protection.com 
Nucon GbR Steinbecker Muehlenweg 95, 21244 Buchholz idN,  Germany 
UST-IDNR.: DE 231373311, phone: +49 4181 290913, fax: +49 4181 350504 
WEEE-Reg.-Nr.:DE 31372201
Reply to
Joerg Niggemeyer

mehr erkannt wurde. AT90S2313 und AT90S8515 waren gut.

Ja, was anderes wollte ich auch nicht unterstellen.

8-Bit MCUs nimmt man meistens auch gar nicht wegen der Architektur.

die InGaN-LEDs nicht ausreichen), dann ist es schon nett wenn die MCU

Reply to
Michael Bäuerle

schon 10a als Ren(n)tier voll habe :)

Wolfgang

--
Ich bin in Paraguay lebender Trollallergiker :) reply Adresse gesetzt! 

ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p 
(lt. alter usenet Weisheit)      iPod, iPhone, iPad, iTunes, iRak, iDiot
Reply to
Wolfgang Allinger

gelungen ist.

Wolf(wenigTheorieaber)gan(zvielPraxis)g

Wolfgang

--
Ich bin in Paraguay lebender Trollallergiker :) reply Adresse gesetzt! 

ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p 
(lt. alter usenet Weisheit)      iPod, iPhone, iPad, iTunes, iRak, iDiot
Reply to
Wolfgang Allinger

Sooo klein ist die Auswahl von 32bit ARM 5.5V Vcc nun auch wieder nicht.

z.B. Farnell KE0x Cortex M0+ 2.7-5.5V ca. 1 EUR/st (including RTC)

als die MCU bei 3V3 oder kleiner ?

--
mit freundlichen Gruessen/ best regards Joerg Niggemeyer Dipl.Physiker 
WEB: http://www.nucon.de    https://www.led-temperature-protection.com 
Nucon GbR Steinbecker Muehlenweg 95, 21244 Buchholz idN,  Germany 
UST-IDNR.: DE 231373311, phone: +49 4181 290913, fax: +49 4181 350504 
WEEE-Reg.-Nr.:DE 31372201
Reply to
Joerg Niggemeyer

Ja, NEVER CHANGE A WINNING TEAM!

anderen Prozessor umzusetzen. Die FORTH Engine besteht aus nur knapp 30 Low Level (Maschinensprache) (sog. Primitives) Routinen und die sind recht einfach, da alle nur eine kleine Sache erledigen. z.B. @ (fetch) hole einen Wert von einer Adresse die auf dem Stack liegt und gib den statt

normalerweise HLL, also auf 'allen' Maschinen gleich, solange es da keine speziellen Dinge mit der Peripherie gibt. (also 1 Tag AUfwand bis 3 Tage)

CODE @ HL POP DE,(HL) LD DE PUSH RET ENDCODE

verstehen. Auch nicht warum die hp Taschenrechner so genial waren (und

IIRC erst mit dem 2. oder 3. Satz Batterien. Ja damals(tm) war hp noch ein excellenter Laden, die wussten, was sie machten.

Ich schrub extra Maschinensprache, nicht ASS, denn es gibt auch CPUs, die FORTH (Primtives) als Maschinensprache haben, da ist die Engine sehr leicht zu erstellen. Und kann fliegen durch Raum und Zeit, Rosetta und

Ein weiterer Vorteil in FORTH, man kann nix verwenden, was nicht vorher deklariert ist, es gibt keinen Linker, der einen linkt!

FORTH ist Interpreter und Compiler gleichzeitig, muss man nicht verstehen,

interpretiert wird, trifft einen eines Tages wie ein Blitz und dann geht die Programmierer Sonne auf und man will nix anderes mehr.

Wolfgang

--
Ich bin in Paraguay lebender Trollallergiker :) reply Adresse gesetzt! 

ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p 
(lt. alter usenet Weisheit)      iPod, iPhone, iPad, iTunes, iRak, iDiot
Reply to
Wolfgang Allinger

im Angebot. Lange Zeit aber eher einzelne Exoten und es sah sonst meistens so aus:

Wie Johannes geschrieben hat wird das vermutlich schon irgendwann den

neue Varianten auf den Markt (die sich die Peripherie-Einheiten mit den PICs teilen).

Nimm als Beispiel 12V oder zwei AA-Zellen als Supply. Mehrere Regler

Reply to
Michael Bäuerle

Am 15.08.2019 um 14:26 schrieb Wolfgang Allinger:

Aha, das beantwortet meine Frage schon fast. Heute versteht man unter FORTH eine Compilersprache (embedded...), ohne Interpreter.

Das FIG FORTH habe ich auch auf etlichen Mikroprozessoren implementiert, war wirklich ein Klacks. Aber wie Du damit auf Echtzeit und parallele Prozesse (Interrupts...) kommst, ist mir Echt schleierhaft.

DoDi

Reply to
Hans-Peter Diettrich

Am 13.08.2019 um 09:33 schrieb Ralph Aichinger:

Berechnung gemacht werden soll, die Adresse einer normalen Subroutine

Programm nicht dorthin springt, wo INT das Programm unterbrochen hat, sondern in die Subroutine deren Adresse jetzt auf dem Stack steht.

Ich glaube, das Status Register musste man auch noch auf den Stack

von lassen und das so machen, wie weiter oben von anderen Postern beschrieben.

Reply to
Stefan

Am 15.08.2019 um 20:22 schrieb Stefan:

mit Stack Overflow ab, so oder so. Andernfalls baut sich der Stack wieder ab, so oder so.

DoDi

Reply to
Hans-Peter Diettrich

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.