Hehe dann noch was OffTopic: Müsstes du jetzt nicht deinen Namen ändern in PIC_AVRture? ;-)
Druckbare Version
Hehe dann noch was OffTopic: Müsstes du jetzt nicht deinen Namen ändern in PIC_AVRture? ;-)
Hallo!
Gute Frage, die ich aber zufällig, wie auch immer, sicher beantworten kann: Nein, weil der AVR nur der nächste µC ist, den ich mit Regiter- und Mnemonicstabelle auf dem Tisch in ASM programmieren möchte. Einfacher wäre für mich Änderung auf "picture", weiss aber leider nicht, wie´s am einfachsten geht. :lol:
Ich habe das alles bisher noch nie auswendig gelernt und habe es nicht vor. Das Datenblatt von z.B. ATtiny45V ist für mich ein 234-seitiges Buch denn ich ein mal durchfliege um alle für meine Anwendung nötige Register auszufischen. Üblicherweise arbeite ich eben mit universieller Programmiersprache (Programmablaufsdiagramm, kurz: PAD), die ich dann entsprechend zum gewünschten Prozessor/µC mit entsprechenden Mnemonics aus dem Befehlsatz ins Quellcode "übersetze".
Als Übungen werde ich zuerst durch Austausch von Mnemonics, die mit PIC's ausprobierte Programme bei AVR's anwenden versuchen. Ich habe bisher noch kein Prozessor/µC kirchlich geheiratet. Ich habe eben als erstes gelernt, dass man das momentan nötiges Stück vom Wissen, wie ein Buch aus einer Bibliothek, kurzzeitig ausleien kann.
Übrigens, wenn die Zielschaltung, in der der AVR per ICSP Programmiert wird, eigenene Versorgungspannung (VCC) hat, brauche ich sie nicht durch Verbindungskabel vom Brenner zuführen und kan bereits vorhandenen 5-adriges Kabel für PIC's verwenden.
Dafür brauche ich nur die VCC vom Brenner entsprechend einstellen, damit der H-Pegel passt (z.B. für ATtiny43U auf 3V). Dafür muss ich anstatt 74 HCT... 74HC... Treiber verwenden, die ab 2 V funktionieren. Notfalls könnte ich auch zusätzlich eine Leitung für VCC verwenden. Weil das Kabel um 3 m lang ist, könnte der Teiber zu schwach sein und ich werde das Kabel wahrscheinlich kürzen bzw. zwei Treiber paralell schalten müsen oder beides. Ich werde später ausprobierte Schaltung skizzieren. ;)
Hallo
Wenn du dich eingearbeitet hast kannst du ja mal einen direkten Vergleich und eventuell eine Beurteilung der Stärken der Chipfamilien posten.
Ein kleine Anmerkung: In meinem 2006er Tiny25-45-85-Datenblatt gibt es nur 222 Seiten. Darin wird der Begriff "ICSP" nicht gefunden, wohl aber das Kürzel "ISP" welches meiner Meinung nach für "in system programming" steht ;)
Viel Erfolg und Spaß mit den AVRs.
Gruß
mic
Natürlich werde ich gerne tun ! :D
Die Begriffe ISP ("in system programming") und ICSP ("in circuit serial programming") sind für mich gleichbedeutend, aber ICSP durch mich unbewusst von der PICerei übernommen worden ist.
Danke dir, aber ich, als Optimist, kenne bisher nur Spass und kein Frust. Auf Erfolge, falls überhaupt möglich, muss ich leider ein bisschen warten. :D
Auch Ärzte oder andere hochgebildete wissen nicht alles auswendig, aber sie wissen wo sie Nachschlagen können. :-) Aus diesem Grund sind ja letztendlich auch (einige) Bücher auf Prüfungen zugelassen. Vom Prinzip her ähneln sich Prozessoren b.z.w. deren Programmierung. Wobei allerdings die von Neumann Maschinen anders "gestrickt" sind als die Systeme mit Harvard Architektur. Das ist dann auch der größte Unterschied zwischen PIC und AVR.
Gruß Richard
Nach wikipedia sind pic und avr "Harvard Architektur":
http://de.wikipedia.org/wiki/PICmicr...cheraufteilung
http://de.wikipedia.org/wiki/Atmel_A...herarchitektur
avr ist scheinbar für c optimiert, aber das plapper ich nur nach. Ich kenne und verwende nur avr, aber alle Geräte mit µc die ich bisher geöffnet habe hatten einen pic drin. Letztlich ist es wohl so wie bei den Programmiersprachen: Wenn man mit den gewählten Mitteln das Ziel erreicht ist es ok.
Meine bisher gnadenloseste Anwendung eines AVR funktioniert auch mit PIC:
https://www.roboternetz.de/community...l=1#post479441
Gruß
mic
Genau, das ist mein Grund, warum ich jetzt gerne auf AVR's wechseln muss: es gibt kein PIC, der mit einem 1,2 Akku funktioniert und interne ADC Referenzspannung , wie AVR's, gleich 1,1 V hat. Ich habe nie versucht verschiedene Prozessoren/µC's miteinander zu vergleichen. Auf den ersten Blick ist der AVR wegen keiner interner Taktteilung, wie bei PIC, sicher 4-fach schneller, sonst für mich gleich. :)
Eigentlich erst jetzt sehe ich einige Nachteile von PIC's:
- unterschiedliche Befehlsätze für unterschiedliche Familien
- Umschalterei von Speicherbänke von SFR's, ausser 18F... Familie
- kein direkter Zugriff auf Stapel ("stack") mit fester Grösse per "push" und "pop" Befehle
- interner Taktgeber nur bei wenigen Typen aus PIC12F... und PIC16F... Familien
- meistens nötige fürs Brennen 13 V Spannung
- nötige externe Schaltung und ein Pin für ADC Referenzspannung unter VCC und fehlender DC Verstärker x 20
Bei AVR's werden sich die Nachteile noch zeigen:
- kompliziertes Konfigurieren per Fuses
- feste Prioritäten für Interruptquellen
- länger dauernde Bearbeitung von mehreren gleichzeitig anstehenden Interrupts, weil man immer zuerst eine ISR mit "iret" verlassen muss, bevor man in nächste ISR springen kann.
- viele unverständliche Bedingungen, die angehalten werden müssen um einige Befehle ausführen zu können
- nur ein Prescaler für alle Timer/Counter
Übrigens, ich kenne bisher kein Prozessor/µC der alles kann und jedem gefällt, sonst gibt es nur diesen. :D
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. ;)
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 ? ;)