Gefunden für asm avr controller - Zum Elektronik Forum





1 - AT90USB1287 - ISR viel zu langsam! -- AT90USB1287 - ISR viel zu langsam!




Ersatzteile bestellen
  Hallo Knutwurst;

Das kann so doch nichts werden. Wenn du CLK/60 hast, dann kannst du ja nichtmal 60 elementare Instruktionen in der ISR ausführen, weil dann der nächste IRQ kommt.


In einer ISR sollte man allgemein keine großartigen Berechnungen durchführen. Wenn es doch sein muss und zusätzlich zeitkritisch ist, sollte das in Assembler kodiert werden.
Dann entfällt auch der enorme Overhead, den der GCC als Prolog und Epilog in die ISR mit einbaut. Hardwaremäßig wird der PC auf den Stack geschmissen und die Adresse der ISR geladen -> vier Instruktionen. Dann kommen, vom GCC erzeugt, die Sicherung des Statusregisters und die Initialisierung einiger Register und sichern alter Inhalte auf dem Stack... Allein dieser Overhad benötigt bestimmt schon 80% der 60 Taktzyklen.

Schau dir diebezüglich mal das Disassembling an: avr-objdump -d objdatei
Wetten, dass dort zig pops kommen, bevor überhaupt dein Kode drankommt?



Fazit: schlechtes Programmdesign oder schlicht zu langsamer Controller.
Schreibe es in Assembler und linke es hinzu - du darfst dann natürlich keine C-Funktionen aus ASM ausführen! Kein Frame vorhanden.


[ Diese Nachricht wurde geändert von: DonComi am  5 Jul 2010 14:24 ]...
2 - Atmega 8 einfaches TWI ( I²C) Programm -- Atmega 8 einfaches TWI ( I²C) Programm
Hallo Micha,


Zitat :
Jetzt brauche ich ein zweites source file für das eigentliche Programm??? oder wie muss ich das verstehen !?

Das verstehst du richtig:
Der Teil, der sich um die I²C-Hardware kümmert ist in twi.c implementiert.
Die Softwareschnittstelle für I²C wird durch den Header bekanntgegeben, das ist in diesem Fall twi.h.

Dort steht:
/** Slavemodus
@brief richte AVR als TWI-Slave ein
@param address eigene Adresse im TWI-Bus
*/
extern void
i2c_switch_slave(uint8_t const address);

Was eindeutig ist:
In deinem Programm kannst du in den Slavemodus umschalten mit

i2c_switch_slave(120);

Der AVR bekommt dann im I²C-Verbund diese Adresse zugewiesen.

In der I...








3 - Mega8 programmieren -- Mega8 programmieren
Als Programmer habe ich diesen von avr-asm-tutorial.net seit langem im Einsatz, aber die LowCost-Programmer tun sich nicht viel.

Bezüglich des Quarzes: es liegt daran, was man mit dem Mikrocontroller machen möchte. Wenn dieser viel zu tun hat oder es auf einen genauen Takt ankommt ist ein externes Quarz erforderlich. Für den Anfang reicht aber der interne durchaus.

Ein Programmer für USB benötigt wegen dem höheren Protokoll zwingend selbst einen Controller. Den kann man entweder fertig kaufen oder man bastelt sich einen Parallelport-Programmer und programmiert sich selbst einen für USB. Wenn du eine LPT-Schnittstelle hast, solltest du diese auch verwenden. ...
4 - [Fertiges Projekt] AVR Display-Controller/Tester (320x240 STN. monochrom) -- [Fertiges Projekt] AVR Display-Controller/Tester (320x240 STN. monochrom)
Hallo,
Die beiden Programme im Anhang dienen dazu ein Controllerloses
230x340-STN-Display, wie es z.B: Pollin unter den Bestellnummern 120 460
und 120 471 verkauft, zu testen.
Die Programme sind für einen Tiny26 geschrieben. Mit einem etwas
ressourcenstärkeren AVR ließe sich auch durchaus ein "richtiger"
Display-Controller realisieren (In Arbeit).
Die beiden Programme dienten aber wirklich nur zum Test+Zeitvertreib,
bevor die Displays im Lager auf ihre eigentliche Bestimmung warten.

Das erste Programm (stn-display-test-extended.asm) erzeugt nacheinander
verschiedene Muster, die "Abspielgeschwindigkeit" ist im Quelltext
einstellbar.

Das zweite Programm (stn-display-test-grafik.asm) gibt ein im Flash
gespeichertes Bild wieder, aus Faulheit ist dieses "Bild" momentan eine
Text- und Musterzeile, welche 8 Pixelzeilen einnimmt, und dann
Programmseitig 30 mal widerholt wird. Ein BilddatenByte enthält 8
Bildpunkte.

Portiert man die Programme auf einen größeren AVR, so lassen sich auch die Zeilen auf einen Timer-Interrupt syncronisieren...

Die beiden Eingangs erwähnten Displays wurden gemäß folgendem Datenblatt
angeschlossen:
5 - universalfernbedienung - hacken oder umbauen ?? -- universalfernbedienung - hacken oder umbauen ??
Hi,
ich habe eine universalfernbedienung (8in1), deren Funktionen mir aber nicht ausreichend sind; ich würde da gerne etwas verändern. nun schreibt bitte nicht kauf dir ne programmierbar fernbedienung, die kann ich mir nicht leisten. ich habe etwas erfahrung in avr-asm und winavr-gcc, aber evtl. ist es ja einfacher etwas direkt an der FB zu ändern. den eeprom habe ich (vermutlich) schon ausgemacht, drauf steht A21SC C343. Der Controller auf der FB ist leider mit diesem schwarzen plastikzeugs vergossen - hat jmd 'ne idee, wie ich den abbekomme ? ansonsten würde ich einfach die FB-Platine knapp überhalb des controllers absägen und versuchen etwas eigenes 'dranzutüfteln, hat da jmd. vielleicht schon erfahrungen gesammelt, bzw. weiss, wie die einzelnen tasten direkt angesteuert werden (oder wie man diese platinenseitigen gummi-kontakte selbst bauen kann) ??

[ Diese Nachricht wurde geändert von: lemmz am 15 Jul 2004  1:18 ]...

Nicht gefunden ? Eventuell gibt es im Elektroforum Transistornet.de für Asm Avr Controller eine Antwort
Im transitornet gefunden: Asm Avr Controller


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 8 Beiträge im Durchschnitt pro Tag       heute wurden bisher 8 Beiträge verfasst
© x sparkkelsputz        Besucher : 192595360   Heute : 4476    Gestern : 7576    Online : 369        16.8.2026    16:15
6 Besucher in den letzten 60 Sekunden        alle 10.00 Sekunden ein neuer Besucher ---- logout ----su ---- logout ----
xcvb ycvb
0.0463359355927