Forum: Mikrocontroller und Digitale Elektronik Welche AVR besitzen die PIN Toggle Fähigkeit?


von Einer K. (Gast)


Angehängte Dateien:

Lesenswert?

Nach langem suchen im Netz, und nur begrenztem fündig werden...
(vielleicht habe ich ja was übersehen...)

Zu einzelnen AVRs findet sich was.
Und in den Datenblättern natürlich auch. Aber das sind dann leider viele 
Datenblätter, welche studiert werden wollen.

Darum meine Frage:
Welche AVRs toggeln ihre Pins, wenn man das betreffende PIN Register 
beschreibt?
Gibt es irgendwo eine Liste dieser Prozessoren?
Irgendein Unterscheidungskriterium?
z.B. eine (Präprozessor) Konstante

Ich würde mich sehr freuen, wenn es da schon was fertiges gibt.
Und ihr mir den Stubs in die richtige Richtung gebt.
Wenn nicht, dann eben Fleißarbeit....

Zwecke des ganzen:
Es soll eine für Arduinos geeignete Lib werden.
Im Anhang der jetzige Zustand der Lib

Das Problem:
1
digitalWrite(13,!digitalRead(13));
Dieses braucht viele Takte.
Manchmal zu viele.

Ich möchte eher sowas wie:
1
#ifdef FAST_TOGGLE_PIN_OPTION
2
PINB = _BV(5);
3
#endif
4
5
#ifndef FAST_TOGGLE_PIN_OPTION
6
PORTB ^= _BV(5);
7
#endif

von Arduinoquäler (Gast)


Lesenswert?

Arduino F. schrieb:
> Dieses braucht viele Takte.
> Manchmal zu viele.

So ist das eben.

1) die Arduino Lib Schreiber haben schon das "Optimalste"
herausgeholt.

2) entweder du lebst mit den Libs so wie sie sind. Mit
dieser Eine-für-Alles Strategie sind viele Arduino Benutzer
glücklich gemacht worden.
Oder du löst dich vom Einheits-Brei der aufgrund von Standards
einen gewissen Overhead erzeugt und schreibst deine eigenen
Dinge optimiert auf deine Bedürfnisse. Die Eierlegende
Wollmilchsau die auch noch optimal schnell ist wird es jeden-
falls nicht geben.

Schneller als so geht es sowieso nicht.

Arduino F. schrieb:
> #ifndef FAST_TOGGLE_PIN_OPTION
> PORTB ^= _BV(5);
> #endif

Ausgenommen ATXmega ....

von Einer K. (Gast)


Lesenswert?

Arduinoquäler schrieb:
> Schneller als so geht es sowieso nicht.
>
> Arduino F. schrieb:
>> #ifndef FAST_TOGGLE_PIN_OPTION
>> PORTB ^= _BV(5);
>> #endif
Das braucht 4 Takte, oder so.


PINB = _BV(5);
Kommt mit 2 Takten hin, wenn es denn der µC kann...

von Arduinoquäler (Gast)


Lesenswert?

Arduino F. schrieb:
> Kommt mit 2 Takten hin, wenn es denn der µC kann...

Mag sein dass du nur zwei Takte brauchst, aber ob du
damit einen Ausgang togglen kannst ..... ?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Arduinoquäler schrieb:
> Mag sein dass du nur zwei Takte brauchst, aber ob du
> damit einen Ausgang togglen kannst ..... ?

Darum geht es doch, duh. Viele neuere AVR können eben den Ausgangspin 
togglen, wenn man eine 1 ins entsprechende Bit des PIN Registers 
schreibt.
Aber ein Kriterium dafür ist mir nicht bekannt, bzw. welcher AVR das als 
erster konnte.

von Einer K. (Gast)


Lesenswert?

Arduinoquäler schrieb:
> aber ob du
> damit einen Ausgang togglen kannst ..... ?
N'türlich!

von Falk B. (falk)


Lesenswert?

@  Arduinoquäler (Gast)

>> Kommt mit 2 Takten hin, wenn es denn der µC kann...

>Mag sein dass du nur zwei Takte brauchst, aber ob du
>damit einen Ausgang togglen kannst ..... ?

Ja, kann er. RTFM!

"However, writing a logic one to a bit in the PINx Register, will result 
in a toggle in the corresponding bit in the Data Register."

von Falk B. (falk)


Lesenswert?

@ Arduinoquäler (Gast)

>1) die Arduino Lib Schreiber haben schon das "Optimalste"
>herausgeholt.

Das halte ich für fragwürdig. Man muss die Portzugiffe nicht zu Laufzeit 
dekodieren, das kann ein vernünftige Lösung auch zur Compilierungszeit.

von Arduinoquäler (Gast)


Lesenswert?

Falk B. schrieb:
> Ja, kann er.

Jetzt fällt es mir wie Schuppen von den Haaren, ich habs
schon mal gelesen aber wieder vergessen.

Falk B. schrieb:
> Das halte ich für fragwürdig. Man muss die Portzugiffe nicht zu Laufzeit
> dekodieren, das kann ein vernünftige Lösung auch zur Compilierungszeit.

Na dann mal 'ran, lieber Herr Brunner.

Was lässt sich denn bei einem SBI(portnr, bitnr) noch vor der
Laufzeit optimieren wenn die Parameter schon fest vorberechnet
vorliegen?

von Einer K. (Gast)


Lesenswert?

Falk B. schrieb:
> Man muss die Portzugiffe nicht zu Laufzeit
> dekodieren, das kann ein vernünftige Lösung auch zur Compilierungszeit.
Ja!
Und die Timer Register muss man dabei nicht auch noch jedes Mal 
manipulieren.
(PWM auf dem Pin abschalten)

von Falk B. (falk)


Lesenswert?

@ Arduinoquäler (Gast)

>> Das halte ich für fragwürdig. Man muss die Portzugiffe nicht zu Laufzeit
>> dekodieren, das kann ein vernünftige Lösung auch zur Compilierungszeit.

>Na dann mal 'ran, lieber Herr Brunner.

Ich kann kein C++ 8-0

>Was lässt sich denn bei einem SBI(portnr, bitnr) noch vor der
>Laufzeit optimieren wenn die Parameter schon fest vorberechnet
>vorliegen?

Gar nichts. Aber das war auch gar nicht das Thema, sondern das leidige 
digitalWrite() vom Arduino.

von bench (Gast)


Lesenswert?

Arduino F. schrieb:
> Welche AVRs toggeln ihre Pins, wenn man das betreffende PIN Register
> beschreibt?
> Gibt es irgendwo eine Liste dieser Prozessoren?

Nein, gibt es nicht.

> Irgendein Unterscheidungskriterium?

Neuere AVRs können das. Eine Liste von "Neueren AVRs"? Mir nicht 
bekannt.

Würde  mir einen µC, der sonst den Ansprüchen genügt heraussuchen und 
dann das Datenblatt daraufhin abklopfen.

von (prx) A. K. (prx)


Lesenswert?

bench schrieb:
> Neuere AVRs können das. Eine Liste von "Neueren AVRs"? Mir nicht
> bekannt.

Der erste mir bekannte Typ war der ATtiny2313.

Man kann das auch umgekehrt machen. Hauptsächlich die AT90SNNNN, daran 
orientierte ATmegaNNNN wie ATmega8535, die alten Klassiker 
ATmega8/16/64/128 sind draussen, und ein paar alte weniger systematisch 
erfassbare ATtiny.

: Bearbeitet durch User
von Einer K. (Gast)


Lesenswert?

Arduinoquäler schrieb:
> Was lässt sich denn bei einem SBI(portnr, bitnr) noch vor der
> Laufzeit optimieren wenn die Parameter schon fest vorberechnet
> vorliegen?
Für mich ist die Ausgangsposition die Arduino Welt.

Und da zeigt sich, dass man mit so was, auf einem Arduino UNO, um 50kHz 
Rechteck zustande bekommt
1
void loop() 
2
{
3
  for(;;) 
4
  {
5
    digitalWrite(13,!digitalRead(13));
6
  }
7
}


Im Gegensatz zu ca. 2Mhz, auf diese Art:
1
void loop()  
2
{ 
3
  for(;;)  PINB = _BV(5);
4
}

von Michael U. (amiga)


Lesenswert?

Hallo,

wenn ich das schnell brauche schreibe ich es eben so rein.
PINB = (1<<PB5);

Wenn ich es auch noch taktgenau brauche, dann starte ich das alte 
AVR-Studio und werfe den ASM an und zähle Takte.

Arduino ist für mich aus 2 Gründen in den Hobbykreis gekommen:
Die billigen Module um Zeit und Arbeit zu sparen.
Die vorhandenen Libs, um Zeit und Arbeit zu sparen.
Das kommt den "kleinen Projekten zwischendurch" sehr entgegen.

PS: da ich in letzter Zeit viel mehr ESP8266 als ATMega programmiere, 
hätte ich ohnehin nichts davon.

Was willst Du dem User einer solchen Lib mit an die Hand geben?
Das er statt der Arduino-Pinnummer jetzt Port und Pin des AVR nehmen 
soll?
Das eben kann er jetzt ohne weitere Änderungen auch schon, wenn er weiß, 
wie es geht.

Gruß aus Berlin
Michael

von Arduinoquäler (Gast)


Lesenswert?

Arduino F. schrieb:
> Zwecke des ganzen:
> Es soll eine für Arduinos geeignete Lib werden.

Arduino F. schrieb:
> Und da zeigt sich, dass man mit so was, auf einem Arduino UNO, um 50kHz
> Rechteck zustande bekommt

Ja .... und wenn du dann deine Kreation als Lib anbietest die
genau so universell verwendbar ist dann endest du genau dort wo
die Arduino Lib Väter ihre Konvergenzlinie gesehen/gezogen haben.

von Einer K. (Gast)


Lesenswert?

Matthias S. schrieb:
> Aber ein Kriterium dafür ist mir nicht bekannt,....
Danke.(schade)

Falk B. schrieb:
> Aber das war auch gar nicht das Thema, sondern das leidige
> digitalWrite() vom Arduino.
Ja!

bench schrieb:
> Mir nicht bekannt.
Danke! (und Schade)

A. K. schrieb:
> Der erste mir bekannte Typ war der ATtiny2313.
>
> Man kann das auch umgekehrt machen. Hauptsächlich die AT90SNNNN, daran
> orientierte ATmegaNNNN wie ATmega8535, die alten Klassiker
> ATmega8/16/64/128 sind draussen, und ein paar alte weniger systematisch
> erfassbare ATtiny.
Beim suchen und erfassen, wird mir das helfen.

Michael U. schrieb:
> willst Du dem User einer solchen Lib mit an die Hand geben?
Ja...
Aber Vorrangring ist das für mich.
In der Beziehung bin ich Egoist.
Wenn es sonst noch jemand mag, nur zu... er/sie/es möge es nutzen...

Michael U. schrieb:
> wenn ich das schnell brauche schreibe ich es eben so rein.
> PINB = (1<<PB5);
Das finde ich wenig lesbar.
Insbesondere wenn das ein Dutzend solcher Pins, mit verschiedenen 
Funktionen, werden.
Ich wünsche mir ein klares Benennungsschema.
Das Arudino Schema ist auch irgendwie klar, zumindest dokumentiert, aber 
hilft nicht viel weiter, wenn der (nicht direkt von der Arduino IDE 
unterstützte) AVR auf ein eigenes Brett gelötet wird.

So....
Ich fasse mal den Erkenntnis Gewinn zusammen:
Ich muss es mir selber machen!


Ein herzliches Danke, an alle, welche mir eine respektvolle Antwort 
gegeben haben.
DANKE!


So, nun an die Arduino Hasser Fraktion:
Ich kann es nur emotional formulieren...
Als ich gerade mal wusste, wie man das Wort "Arduino" schreibt, aber 
noch nie einen Atmel bewusst wahrgenommen hatte, sprang mich eine 
Aufgabe/Problem/Auftrag an.
Mit Hilfe eines 3 Euronen Boards und der IDE war das Thema in 2H 
erledigt.
Das war mein erster Kontakt mit dem Arduino/AVR Kram.
Seit dem bin ich bekennender Fan.

Natürlich sind manche Dinge in der Arduino Welt unglücklich gelöst. Da 
gehe ich voll mit den Kritikern konform. Allerdings lässt die IDE einen 
auch da ran. Und es gibt auch viel Licht.
Von Hause aus verdaut sie *.S Dateien. (weiß nur kaum einer)
Sie liefert mir automatisch ein Assemblerlisting, so dass ich sehen kann 
was der Compiler da baut. Und ja, lieber c-hasser, das kann ich lesen.

Und überhaupt, ich hasse ursprünglich auch C....
Komme eigentlich aus der ObjektPaskal, Java und SPS(AWL) Ecke...
Auch PHP, Forth und SQL wird gerne genommen.
C war mir immer ein Gräul.
C++ ist auch nicht viel schöner...
Aber ich nehme es.
Denn OOP in Assembler ist auch nicht die Ausgeburt an Eleganz.

Schlussendlich ist es völlig scheißegal, welche IDE man verwendet. 
Nahezu alle basieren auf der avr-gcc Toolchain.
Es kommt also exakt das gleiche dabei raus, wenn man nur will.


So, nun an c-hater im speziellen:
Deine Herabwürdigungen fasse ich als Angriff und Beleidigung auf.
Fachlich ist da auch nicht wirklich was gekommen, oder?
Wie schätzt du das selber ein?
Hast du meine Frage überhaupt verstanden? ... egal...

Ich nehme mal zu deinen Gunsten an, dass irgendein Ereignis/Umstand in 
deiner Kindheit/Jugend zu einer neurotischen Fehlanpassung geführt hat, 
so dass du jetzt solche Verhaltensauffälligkeiten zeigen musst.

War das zu kompliziert?
OK, dann auf neudeutsch: Troll!

Und ich finde es schade, dass die Moderation solche Ausfälle recht 
selten sanktioniert.

von W.A. (Gast)


Lesenswert?

Arduino F. schrieb:
> Das Arudino Schema ist auch irgendwie klar, zumindest dokumentiert, aber
> hilft nicht viel weiter, wenn der (nicht direkt von der Arduino IDE
> unterstützte) AVR auf ein eigenes Brett gelötet wird.

Es hilft genau dann nicht weiter, wenn du für dein Brett nicht die 
passende Boardbeschreibung für die Arduino IDE angelegt hast.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Arduino F. schrieb:
> Gibt es irgendwo eine Liste dieser Prozessoren?

 Soviel ich weiss nein, warum machst du es nicht selbst, ist doch
 nicht so schwer ?

: Bearbeitet durch User
von Michael U. (amiga)


Lesenswert?

Hallo,

für alles halbwegs gängige von den Tiny bis zu den größeren AVR gibt es 
das doch schon.
Ich hatte zumindest keinen großen Aufwand, einen Tiny45 aus der IDE zu 
bedienen und von dort mit dem Dragon zu flashen.

...
wenn ich das schnell brauche schreibe ich es eben so rein.
PINB = (1<<PB5);
>Das finde ich wenig lesbar.
>Insbesondere wenn das ein Dutzend solcher Pins, mit verschiedenen
>Funktionen, werden.

Naja, real würde bei mir vermutlich auch
LED_PIN = (1<<LED);
stehen.
Schon deshalb, weil ich dann mit einer #define-Änderung aus PB5 PB3 
machen kann oder aus PINB PIND usw.

Arduino bietet eine ganze Menge auch für die eigene Bequemlichkeit.
Beispiel: Stringverarbeitung. Man kann die C-Sachen nehmen oder die 
String-Klasse.
Nachteil: auf einem Mega328 wird mit der Stringklasse schnell der Ram 
knapp wenn man nicht gut aufpasst.
Auf dem ESP8266 nehme ich die fast ausschließlich, einfacher geht es 
nicht.
Aber selbst da habe ich mir da schon Probleme eingebaut. Ein paar 
String.replace() mit einem 6k html-Source aus dem Filesystem geladen 
laufen auch gegen die Wand. ;-)

Dort entschärft sich auch das digitalWrite() Problem fast von selbst. 
80MHz waren bisher da auch flott genug und nette Leute sorgen da fast 
immer für Anpassungen.
Die aktuelle NeoPixelBus-Lib hat im Test zumindest keine Probleme mehr 
mit 120 WS2812 am ESP und WLAN und MQTT aktiv.

Beim den kleinen AVR werde ich im Notfall wohl auch weiterhin auf C in 
der Arduino-IDE oder dem AVR-Studio und ASM zurückgreifen.

Ist ein Hobby und soll es auch bleiben.

Gruß aus Berlin
Michael

von Einer K. (Gast)


Lesenswert?

Marc V. schrieb:
> Soviel ich weiss nein,
Danke für die Auskunft.

Marc V. schrieb:
> warum machst du es nicht selbst
Eine herzerfrischende Idee!

Mal abgesehen vom erstellen einer solchen Liste, ist ab dann 
Wartungsaufwand nötig. Die Liste will immer auf neuestem Stand gehalten 
werden. Kann natürlich sein, dass Atmel nach der Übernahmen nix neues 
mehr entwickelt. Naja, da will ich mich nicht drauf verlassen.

von Marc V. (Firma: Vescomp) (logarithmus)


Angehängte Dateien:

Lesenswert?

Arduino F. schrieb:
> Eine herzerfrischende Idee!

 Hier.

von Oldschool-Excellianer (Gast)


Lesenswert?

Marc V. schrieb:
> AVR.xlsx (12,3 KB, 0 Downloads)

Bitte nicht im Excel-2053-Format.

Excel '97 wäre kompatibler. Und kann jeder.

von Oldschool-Excellianer (Gast)


Lesenswert?

Oldschool-Excellianer schrieb:
> Bitte nicht im Excel-2053-Format.

Geheimtipp: neue Excels können auch ältere Formate.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Oldschool-Excellianer schrieb:
> Geheimtipp: neue Excels können auch ältere Formate.

 Geheimtipp:
 Wir schreiben Jahr 2016, 1997 war vor 19 Jahren.

 Und noch einer:
 Auch Excel '97 kann .csv lesen.

: Bearbeitet durch User
von Gerd E. (Gast)


Lesenswert?

Marc V. schrieb:
> AVR.xlsx
> Hier.

Toll! Ich bin grenzenlos begeistert! Da sieht man ja auf den ersten 
Blick, welcher AVR die Pins toggeln kann. ;-)

von Marc V. (Firma: Vescomp) (logarithmus)


Angehängte Dateien:

Lesenswert?

Marc V. schrieb:
> Arduino F. schrieb:
>> Eine herzerfrischende Idee!
>
>  Hier.

 Und hier sind AVRs ohne Toggle.

von Einer K. (Gast)


Lesenswert?

Ja, das hilft mir wirklich weiter!



Wie bist du an die Listen gekommen?

Aus den XML generiert?
Was war das Kriterium?

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Arduino F. schrieb:
> Aus den XML generiert?
 Ja.

> Was war das Kriterium?

 <TOGGLE_PIN>

von P. M. (mikro23)


Lesenswert?

Marc V. schrieb:
> Und hier sind AVRs ohne Toggle.

Die xmegas gehören aber nicht dazu. Die können das. Heißt nur anders:

PORTn.OUTTGL = <bitmask>

von ASM Superprofi (Gast)


Lesenswert?

>> #ifndef FAST_TOGGLE_PIN_OPTION
>> PORTB ^= _BV(5);
>> #endif
>Das braucht 4 Takte, oder so.
>
>PINB = _BV(5);
>Kommt mit 2 Takten hin

Deshalb programmiere ich nur in ASM, auch wenn ihr das ja alle so 
schrecklich findet. Da kann man nunmal ohne viel black magic einfach 
direkt zählen, wie viel Takte man braucht.

Und nein, ich habe nichts gegen C, nur sehe ich bei einfachen 
µC-Aufgaben dort keinen Vorteil.

So, hate on, wa?

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

P. M. schrieb:
> Die xmegas gehören aber nicht dazu. Die können das. Heißt nur anders:
>
> PORTn.OUTTGL = <bitmask>

 Ja, das ist aber nicht dasselbe wie OUT PINx.

von ASM Superprofi (Gast)


Lesenswert?

Doch, das ist funktional genau das selbe.
(Abgesehen davon, dass man nicht mit sbi darauf zugreifen kann, da Atmel 
entschieden hat, dieses Register nicht mit in die VPORT Register zu 
spiegeln.)

von Einer K. (Gast)


Lesenswert?

Marc V. schrieb:
> Arduino F. schrieb:
>> Aus den XML generiert?
>  Ja.
>
>> Was war das Kriterium?
>
>  <TOGGLE_PIN>

Heijeijei....

Das bekomme ich auch noch hin...
(dachte ich)

Wenn das Wörtchen "Wenn" nicht wäre...
In meinen xml Dateien findet sich leider kein "TOGGLE_PIN".
Nirgendwo....
Meine XML Dateien stammen aus dem Atmelstudio 6.2
Beim 7.0er scheinen die nicht mehr dabei zu sein.
Und eine andere XML Quelle kann ich nicht finden.
Auch nicht auf der Atmel Seite.


Würdest du mir noch verraten, wo du deine XML Dateien her hast?

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Arduino F. schrieb:
> Würdest du mir noch verraten, wo du deine XML Dateien her hast?

 "C:\Program Files\Atmel\AVR Tools\Partdescriptionfiles"
 Die gibt es aber auch schon bei Studio 4.19 oder früher.

 Command Prompt, geh zu "drive:\Program Files\Atmel", und folgendes:
1
 "dir *.xml /s > AvrList.txt"
 Sollte dir alle *.xml files in AvrList.txt auslisten (mit Directory).

 Und die Files danach parsen, natürlich.

: Bearbeitet durch User
von Einer K. (Gast)


Angehängte Dateien:

Lesenswert?

Ein Verzeichnis namens Partdescriptionfiles gibt es nicht auf meinen 
Rechnern.

1. Auf meinem ausrangierten XP mit AS6.2 gibt es sowas nicht.
Da findet sich die Datei ATmega328P.xml genau 1 mal auf der ganzen 
Platte
Im Verzeichnis: C:\Programme\Atmel\Atmel Studio 6.2\devices
Die habe ich mal als Anhang drangeklebt.
Keine der dortigen, fast 500 Dateien, beinhaltet den String 
"TOGGLE_PIN".
Keine *.xml Datei auf dem Rechner beinhaltet "TOGGLE_PIN".


2. Schlimmer noch, auf dem frischen Win10 mit AS7.0
Weit und breit keine ATmega328P.xml
Keine *.xml Datei auf dem Rechner beinhaltet "TOGGLE_PIN".

von Einer K. (Gast)


Lesenswert?

Nachtrag:
Im AS 7.0 heißen die Dateien jetzt *.atdf, also z.B. ATmega328P.atdf
Aber auch darin kein "TOGGLE_PIN", oder vergleichbares, zu erkennen

von Marc V. (Firma: Vescomp) (logarithmus)


Angehängte Dateien:

Lesenswert?

Arduino F. schrieb:
> Keine *.xml Datei auf dem Rechner beinhaltet "TOGGLE_PIN".

 Hier.

von Hugo (Gast)


Lesenswert?

Arduino F. schrieb:
> Nachtrag:
> Im AS 7.0 heißen die Dateien jetzt *.atdf, also z.B. ATmega328P.atdf
> Aber auch darin kein "TOGGLE_PIN", oder vergleichbar, zu erkennen

Ich kann bestätigen, daß auch bei mir das Verzeichnis
"Atmel\AVR Tools\Partdescriptionfiles" existiert und darin die 
*.xml-Files sind, z.B. ATmega88.xml. Und in den XML-Files sind unter 
"AVRSimIOPort.SimIOPort" die einzelnen Ports(A, B, C...) aufgeführt und 
dort dann "TOGGLE_PIN" mit dem Wert "Y"...
Keine Ahnung, warum das ganze bei dir nicht auffindbar ist.

von Einer K. (Gast)


Lesenswert?

Ja!
Meine sehen anders aus.
Der "TOGGLE_PIN" Eintrag ist offensichtlich für den Simulator.
Bei den neueren AS wird diese Information dann wohl in der jeweiligen 
*.dll Datei stecken. Da gibts für jeden µC eine eigene DLL.

Gut, damit habe ich die Daten bis 2011, wie mir scheint.
Für die neueren fehlt es...
Naja, immerhin!

Ein großer Schritt.
Danke.

von Einer K. (Gast)


Lesenswert?

Hugo schrieb:
> Keine Ahnung, warum das ganze bei dir nicht auffindbar ist.
Habe gerade AS 4.19 installiert.
Da gibts das alles.

Zu 6.XX und 7.0 hat sich da offensichtlich viel geändert.

Hugo schrieb:
> Ich kann bestätigen, daß auch bei mir das Verzeichnis
> "Atmel\AVR Tools\Partdescriptionfiles" existiert und darin die
> *.xml-Files sind,
Eine AS 4er Version...?!?

von Hugo (Gast)


Lesenswert?

Arduino F. schrieb:
> Eine AS 4er Version...?!?

Ja, ich hab die 4er Version vom AVR-Studio auch noch draufgelassen, 
obwohl ich das 6.2er AtmelStudio installiert habe.
Aber die *.xml-Files sind im 4er, richtig.
Was mich auch nachdenklich gemacht hat, daß die Tags TOGGLE_PIN 
innerhalb der Simulator-Tags der einzelnen Ports sind....

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Arduino F. schrieb:
> Gut, damit habe ich die Daten bis 2011, wie mir scheint.
> Für die neueren fehlt es...

 Die neueren werden es wahrscheinlich alle haben.
 Und wie lange es noch 8-bit  AVRs geben wird - zumindest zu
 vernünftigen Preisen...

von SonicHazard (Gast)


Lesenswert?

Über dieses Thema bin ich gestern auch gestolpert: Wollte 3 Taster zum 
Togglen bringen. Beim Layoutentwurf bemerkt: Kein Platz für die IC´s und 
die nötige Entprellung. Aber da sind ja noch ein paar alte Attiny11 in 
der Bastelkiste. Nach Aufruf des Datenblattes musste ich feststellen: 
Der kann ja gar nix, auch nicht Togglen über PinB. Egal, geht ja auch 
anders.

Aber vielen Dank für die Liste, kommt bei mir mit in die Atmel-Doku!

von michael_ (Gast)


Lesenswert?

ASM Superprofi schrieb:
> Deshalb programmiere ich nur in ASM, auch wenn ihr das ja alle so
> schrecklich findet. Da kann man nunmal ohne viel black magic einfach
> direkt zählen, wie viel Takte man braucht.

Eben, was für eine Aufregung.

von H.Joachim S. (crazyhorse)


Lesenswert?

Mich interessiert i.a. überhaupt nicht mehr, wieviele Takte irgendwas 
nun wirklich baucht, solange es ausreichend schnell ist.
Früher hatte ich den Ehrgeiz, möglichst "effiziente" Programme zu 
schreiben. Das hiess: möglichst kompakt, möglichst schnell. Ja, das hat 
auch Spass gemacht, war aber letztlich fast immer wertlos, nur fürs Ego 
gut. Stunden und Tage zugebracht, um noch ein bisschen rauszukitzeln...
Der gesparte Speicherplatz blieb dann leer, die gesparte Laufzeit wurde 
in Warteschelifen verbraten, weil einfach nichts zu tun war. Immer in 
der Erwartung: ich hätte noch Reserven für irgendwas, was aber nur 
höchst selten kam.
Insofern: nicht aus dem Auge verlieren, wenn es mal knapp wird. Aber als 
Grundeinstellung unproduktiv.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Wenn man Anwendungen schreibt, bei denen es auf Mikroampere an 
Stromverbrauch ankommt, lernt man auch wieder effizient zu 
programmieren, weil der Controller in er Zeit, wo nichts zu tun ist, 
einfach mal schlafen kann.

: Bearbeitet durch User
von S. Landolt (Gast)


Lesenswert?

H.Joachim S. schrieb:
> ... Aber als Grundeinstellung unproduktiv.

Um Bliss zu zitieren:
The pursuit of excellence is gratifying and healthy. The pursuit of 
perfection is frustrating, neurotic and a terrible waste of time.

von Rolf M. (rmagnus)


Lesenswert?

S. Landolt schrieb:
> Um Bliss zu zitieren:

Du meinst diese Marke für Schönheitsprodukte? ;-)

von S. Landolt (Gast)


Lesenswert?

Falls von Interesse: Edwin C. Bliss "Getting Things Done"
 (war einst von großem Nutzen für mich)

von Einer K. (Gast)


Lesenswert?

Heiner schrieb im Beitrag #4679630:
> Dazu brauchst du ein ARM.

ARM ist was für richtige Männer....

von M. K. (sylaina)


Lesenswert?

Heiner schrieb im Beitrag #4679630:
> Es gibt keine AVR, die PINs toggeln koennen :) Dazu brauchst du ein ARM.

Quatsch, ein Beispiel wurde schon zu beginn des Threads genannt: 
ATTiny2313 kann sehr wohl Pins toggeln.

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Arduino F. schrieb:
> Heiner schrieb im Beitrag #4679630:
>> Dazu brauchst du ein ARM.
>
> ARM ist was für richtige Männer....

plot twist -> Sophie Wilson... ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.