- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 50

Thema: Am einfachsten anfangen ?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Zitat Zitat von PICture Beitrag anzeigen

    Übrigens, ich kenne bisher kein Prozessor/µC der alles kann und jedem gefällt, sonst gibt es nur diesen.
    Das wirkliche Problem sitzt eh immer VOR der Tastatur, Jeder Prozessor macht genau das was man ihm "einredet". Was nicht immer sinnvoll ist.Brain.0.1 macht auch gelegentlich Fehler ein µC niemals (bis gelegentlich)...

    Gruß Richard

  2. #2
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Das stimmt und um das zu vermeinden, habe ich mir kompletten Befehlsatz für 8-bit AVR's runtergeladen und schnell überflogen: http://www.atmel.com/dyn/resources/p...ts/doc0856.pdf . Dort gibt es sogar sehr viele gleiche Mnemonics, wie bei PIC's. Weil das Programmieren für mich nur ein Mittel ist, um meine Hardware "lebendig" zu machen, möchte ich mir zuerst die gleich, wie bei PIC's, funktionierende zig Befehle auszufiltern und verwenden. Wenn es nötig wird, werde ich mein Befehlsatz zukünftig nach Bedarf erweitern.

    Übrigens, in "Operation" für jeden Befehl sind sehr ännliche Symbole verwendet, wie in meinen PAD's. Ich sehe daher als Anfänger den Wiki Artikel "PIC Assembler": http://www.rn-wissen.de/index.php/PIC_Assembler nach Änderung den Befehlen und Register für AVR's völlig anwendbar. Lediglich war der Titel damals schon vorgegeben, sonst würde er heissen: "Assemblerprogrammierung".

    Als erste Übungen um ASM Programme für AVR's effizient schreiben zu können, möchte ich mit "Übersetzung" von: http://www.rn-wissen.de/index.php/PI...er#Hilfsmittel für AVR anfangen, da ich den "PIC Miniterminal" bereits seit langem verwende.
    Geändert von PICture (11.07.2011 um 17:20 Uhr)
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  3. #3
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Hallo!

    Ich habe mit "studieren" des Datenblattes von ATtiny24/44/84 ( http://www.atmel.com/dyn/resources/p...ts/doc8006.pdf ) angefangen und festgestellt, dass die Interruptvektoren (1 ... 17) auf Seite 48 für alle Interrruptsquellen schon fest definiert sind und können nicht beliebig geändert werden. Stimmt das ?
    Geändert von PICture (10.07.2011 um 02:27 Uhr)
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  4. #4
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Man kann die Zieladressen in der Sprungtabelle der Interrupts ändern. Defaultmässig springen die zu einem RETI. Einfach die Adresse der selbstgemachten ISR eintragen.
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #5
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Das ist mir noch nicht ganz klar, weil selbstverständlich an den Adressen (0 ... 17) entsprechende ISR Adressen/Marken stehen werden. Beispielweise, wenn ich den Timer/Counter0 permanent laufen lasse, wird nach jedem Überlauf an die Adresse 0x000Bh und weiter an dort stehende Adresse/Marke entsprechender ISR gesprungen und das kann ich nicht ändern, oder ?
    Geändert von PICture (10.07.2011 um 02:54 Uhr)
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Hallo PICture,

    ich seh das auch so, daß die Zuordnung von Interruptquelle und Programmadresse bei dem ATtiny festgelegt sind.

    Das kann man nicht ändern und legt auch gleichzeitig in der Reihenfolge der Interruptnummern die Prioritäten fest. Der Inhalt der Programmadresse kann geändert werden und sollte bei generellem Gebrauch von Interrupts die Anweisung (zB RJMP) zum Aufsuchen der ISR enthalten.

    Als Pre-Anfänger in ASM stelle mir das so vor, das der Programmcounter durch den Interrupt HW gesteuert unbeeinflußbar auf den in der Tabelle 9-1 aufgeführten unveränderbaren Wert gesetzt wird. Dort sollte dann ein Befehl stehen, der die Programmausführung mit der ISR fortführt.


    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  7. #7
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die Interruptsvektoren sind fest, am Anfang des Flash je 1 (bzw. 2 ab 16 Kbytes Speicher) Worte auseinander. In der Regel steht da dann ein Sprung (RJMP oder JMP) auf die eigentliche ISR. Wenn man die Interrupts dahinter nicht braucht kann man da auch direkt mit der ISR anfangen ohne den Sprung. Da dies im Flash steht kann man es zur Laufzeit nicht (oder nur sehr umständlich) ändern. Falls man da je nach Programmteil eine andere ISR braucht macht man das als normale Verzweigung im Code.

    Ein Sprung auf ein RETI für einen nicht genutzten Interrupt ist übrigens ziemlich sinnfrei: Da könnte auch gleich das RETI hinschreiben, und außerdem aktiviert man einen ungenutzten Interrupt einfach nicht.

Ähnliche Themen

  1. Anfangen nur wie? :P
    Von Snaper im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 11
    Letzter Beitrag: 21.01.2008, 14:16
  2. Anfangen mit ??
    Von pocketpcuser im Forum Mechanik
    Antworten: 3
    Letzter Beitrag: 02.10.2006, 18:15
  3. Anfangen mit ???
    Von pocketpcuser im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 17.09.2006, 09:50
  4. [ERLEDIGT] Wie am einfachsten Ausführungszeit Unterprogramms messen?
    Von PICture im Forum PIC Controller
    Antworten: 11
    Letzter Beitrag: 06.05.2006, 23:50
  5. Wie am besten und einfachsten °(Grad) mit LCD anzeigen?
    Von gzah im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 09.03.2006, 07:41

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test