Datenübertragung mit RS232 zum PC

Was genau meinst Du mit 'die neueren'? Sind das die gleichen, die auch 'movw' kennen?
Im Datenblatt zu ATtiny25/45/85 steht, daß der zwar movw aber nicht mul kann. Gibt es eine Übersicht über den Befehlssatz der einzelnen AVR's. Da gibt es ja auch welche, die nur relative Sprünge können, die Unterschiede bei den I/O Befehlen usw.

Eigentlich hätte ich erwartet, daß in den jeweiligen xxxdef.inc Dateien dazu irgend ein define existiert, so daß man im Programm bedingt übersetzen kann. Habe aber nichts gefunden.

Bei meiner Suche im Netz, da was zu finden, habe ich das hier gefunden. Dort fehlen leider Hinweise zum Befehlssatz. Was mich nebenbei etwas irritiert hat war, daß dort beim ATmega168 von einer Pin Anzahl von 32 die Rede ist.
 
In den Definitionsdateien werden die (I/O) Registeradressen und deren Bits mit Namen versehen, und einige prozessorspezifische Konstanten festgelegt (RAMEND, etc). Du kannst in ASM auch auf diese Datei verzichten (bzw das include), aber dann müssen alle Adressen/Bits halt im Code definiert werden, oder wirklich als Zahl erscheinen. Beim assemblieren erwartet der ASM halt hinter den entsprechenden Mnemonics Zahlen. Findet er dort stattdessen "was anderes", versucht er, daraus eine Zahl zu machen. Dazu sucht er im Sourcecode und in den includes nach einer entsprechenden Definition. Findet er die nicht, gibts 'ne Fehlermeldung - jetzt mal ganz grob erklärt.
AFAIK führt ein Prozessor, wenn er einen (ihm) unbekannten Opcode bekommt, einfach ein NOP aus (was in den seltensten Fällen dem Algorithmus entsprechen sollte).

Zu den möglichen Mnemonics eines Controllers hast Du selbst ja schon das (jeweilige) Datenblatt angesprochen - 'ne allgemeine Übersicht ist mir nicht bekannt.
Die Multiplikationsbefehle werden mMn nur von den "neueren" MegaAVR unterstützt, also ab der Generation 88, 168 und co.
In dem Zusammenhang fällt mir auf, daß in der, von Dir verlinkten Liste, die "noch neuere" Generation (Mega88P/A/PA und co) nicht enthalten ist. Da gab es die eine oder andere Ergänzung bei der Hardware (interner "Temp-Sensor" über den ADC zB), und eventuell bei I/O-Registern (?).
Und bei den "alten" wird nicht zwischen den "normalen" und den Stromsparvarianten unterschieden - da gabs dann aber unterschiedliche max Taktfrequenzen bzw Mindestspannungen (mag sein, daß die Chips selbst vom selben Band kamen, und anhand von Testergebnissen (stabiler Lauf bei grenzwertigen Bedingungen) dann halt als normale/Stromsparversion verkauft wurden. Kennt man ja ähnlich auch von den Computer-CPUs.
 
In den Definitionsdateien werden die (I/O) Registeradressen und deren Bits mit Namen versehen, und ...

Die Funktion der Definitionsdateien ist mir schon klar. Ich hoffte dort sowas wie ein
Code:
#define HASMULT
oder ähnlich zu finden.

Zu den möglichen Mnemonics eines Controllers hast Du selbst ja schon das (jeweilige) Datenblatt angesprochen - 'ne allgemeine Übersicht ist mir nicht bekannt.
Die Multiplikationsbefehle werden mMn nur von den "neueren" MegaAVR unterstützt, also ab der Generation 88, 168 und co.
Also der ATmega8 kann das auch und das ist ja wohl der Urahn der Megas oder?
 
Dann scheint das ein Feature aller Megas zu sein... (hab mich zugegebenermaßen nie wirklich mit dem 8er beschäftigt - nur einmal ein kleines Bascom-Programm, und dann bin ich bereits auf den 88er gestoßen. Gab es vorher nicht noch 'ne Generation AT90S... oder so? Kannst ja mal da nach den Muliplikationsbefehlen suchen.)
Zu den Sprungbefehlen ist noch zu sagen, daß aufgrund des begrenzten Flash bei einigen AVR bestimmte Sprungbefehle schlichtweg nicht nötig sind - ähnliches gilt bei Speicher- und Ladebefehlen das SRAM/Eeprom betreffend.
(Cave!: einige AVR erlauben hier den Zugriff auf den Flash etc - beim Tiny4/5/9/10 zB ab "SRAM-Adresse" 0x4000, deswegen kommt er ohne LPM aus.)
 
Was mich nebenbei etwas irritiert hat war, daß dort beim ATmega168 von einer Pin Anzahl von 32 die Rede ist.
Sieh dir mal das TQFP-Gehäuse an. Das hat keine 28 Pole wie das DIP-Gehäuse sondern 32 Pole (4 Seiten mit jeweils 8 Pole = 32 Pins)

Gruß
Dino
 
Genau... bei den 32poligen SMDs gibt es neben einem einem zusätzlichen Spannungsversorgungspaar 2 weitere ADC-Eingänge.
 
Hi
Hab ein paar Tage "abgespannt" und bin nun wieder bereit, meinen Senf dazu zu geben. Grob überlesen ist mir aufgefallen, das gewisse Fingerfertigkeiten bei der mechanischen Arbeit fehlen. Hier mal ein paar Tips meinerseits, wobei ich hoffe, nix zu wiederholen...
Also, IC Fassungen einlöten: Diagonal 2 Pins löten. Danach unter Druck die Punkte nachlöten. Damit bekommt man die Fassung gut auf die Platine und muss nicht beim Einsetzen der IC's mit einem Abreißen der Lötung rechnen. Sitzt die Fassung gut auf, können die anderen Kontakte verlötet werden.
Auch alle anderen Bauelemente zuerst nur einseitig einlöten. Danach die Anschlüsse kürzen und nachlöten. So geht die Wärme nicht über die unbenötigte Leitung ab und die Verbindung zur Platine ist nicht so kompliziert zu erreichen. Außerdem ist für jede Lötstelle das Abtrennen der unbenötigten Drähte "Stress", denn beim Abknipsen entsteht evtl. eine mechanische Belastung der Lötstelle. Für Bauteile, die ausgerichtet werden müssen, kann man sich eine Wäscheklammer umbauen oder eine Holzleiste herrichten. Zum Beipiel LED's... 3mm oder 5mm Löcher durchbohren, oben mit einer weiteren Leiste abdecken und dann die LED's einstecken. Mit dem Holz auf die Platine bringen und dann einseitig die LED's löten. Dann das Holz entfernen. So sollte es möglich dein, auch LED's auf Abstand einzurichten.
Stiftleisten kann man z. B. erst in einen Stecker stecken und dann beim Löten den Stecker festhalten. So verbrennt man sich nicht die Finger. Man muss halt manchmal ein wenig um die Ecke denken....

Zu den Bestellungen.. ja, das Problem kenn ich auch. Man hat ein Projekt angefangen und bestellt erst mal lustig beim erstbesten Versandhandel. Dann beginnt die Arbeit und.... da fehlt was, es geht etwas kaputt, was auch immer. Daher habe ich mir angewöhnt, erst einmal eine Schaltung mit einem Steckbrett aufzubauen und einen Schaltplan zu erstellen. Der Schaltplan verrät eine Menge über benötigte Bauteile und das Steckbrett über die erwartete Funktion. Manchmal kann man dann einzelne Komponenten getestet auf eine extra Platine bauen. Sozusagen kleine Funktionseinheiten, die dann der Gesamtschaltung als kleine getestete Einheit zugefügt werden. Vielleicht über Steckkontakte oder auch eine IC-Fassung...
Da fallen mir u. a. RS232 Treiber, Relaistreiber mit Transistor und Anzeigen ein.
Bei den Bauteilen sollte auch immer etwas "großzügiger" kalkuliert werden. Ein kleiner Vorrat an immer wieder benötigten Teilen ist nie verkehrt.
Ok. das waren erst mal ein paar Tips von mir.
Gruß oldmax
 
Bei den Bauteilen sollte auch immer etwas "großzügiger" kalkuliert werden. Ein kleiner Vorrat an immer wieder benötigten Teilen ist nie verkehrt.
so mache ich es auch immer.

Günstige Widerstände im Hunderterpack. Widerstände die etwas teurer sind und wo man absehen kann das man sie mal öfters benötigt wird dann auf 2-3 Euro aufgerundet.

Günstige Dioden und Transistoren (1N4007, 1N4148, BAT85, BC547, BC557, Zenerdioden, ...) werden auch entweder in 100er Stückzahlen oder als 20, 30 oder 50Stk besorgt.

Bei Keramikkondensatoren und Elkos ist es auch ähnlich. Je nach Verwendungsmöglichkeit werden mehr oder weniger große Stückzahlen angeschafft. Ich versuche auch immer möglichst kleine Gehäuse zu bekommen um die Verwendungsmöglichkeit noch besser zu gestalten.

Spannungsregler (78L05, Schaltregler, ...) werden in 10er oder 20er Packs besorgt. Die braucht man ja auch öfters.

Je nach Kosten für ein Stück, möglichem Mengenrabatt, Verwendungsmöglichkeiten und benötigter Stückzahl pro Schaltung wird also mehr oder weniger stark aufgerundet. Die 1N4148 hab ich mir zB damals mal in nem 1000er-Gurt besorgt :p Sind allerdings nach über 10 Jahren noch etwa die Hälfte von übrig. Aber die haben ja zum Glück kein Verfallsdatum :cool: Die Rolle gab es mal irgendwo als Industrieware ohne Stempelung (Typenaufdruck) als Sonderangebot so um die 15-20 DM :cool:

Gruß
Dino
 
Die 1N4148 hab ich mir zB damals mal in nem 1000er-Gurt besorgt :p
In diese Größenordnungen will ich nicht vorstoßen :)
Meistens fehlt halt auch eher irgend etwas was nicht Standardbauteil ist und nicht von vorne herein eingeplant war. Na ja, das wird sicher alles besser, so die Krabbelkiste wächst.

Vielen Dank für die vielen Löttipps! Es beruhigt mich zu hören, daß auch Profis keine Hilfsmittel verschmähen!:D
 
Vielen Dank für die vielen Löttipps! Es beruhigt mich zu hören, daß auch Profis keine Hilfsmittel verschmähen!:D
Wenn du zwei einzelne Buchsenleisten winkelig zueinander haben willst und alles schön grade ausgerichtet sein soll, dann steck einfach quer nen IC oder nen Stecker rein der dann in beiden Leisten steckt. Der fixiert dir alles zueinander.

Es gibt eigentlich recht viele Löthilfen. Sie liegen oft auch auf der Hand. Sind manchmal aber etwas unkonventionell :cool:

Gruß
Dino
 
Was mich fast zur Verzweiflung treibt: Wie lötet man zwei weiche Litzen aneinander?
kommt drauf an wie weich und wie zusammen. Ob die in einer Linie weiterlaufen sollen oder ob die einfach spitz zusammengelötet werden sollen.

----==---- in einer Linie

___/\___ spitz zusammen

Also ich halte die dafür in der linken Hand. Man kann dann wunderbar mit den 5 Fingern beide Litzen unabhängig voneinander bewegen. Das Lötzinn steht ein wenig von der Rolle auf dem Tisch ab. Dann mit der rechten Hand den Lötkolben dran und fertig.

Wie gesagt alles eine Frage der Finger. Die Chinesen können doch auch mit 2 Stäbchen in einer Hand rumzappeln :cool:

Gruß
Dino
 
kommt drauf an wie weich und wie zusammen. Ob die in einer Linie weiterlaufen sollen oder ob die einfach spitz zusammengelötet werden sollen.

----==---- in einer Linie

___/\___ spitz zusammen

Also ich halte die dafür in der linken Hand. Man kann dann wunderbar mit den 5 Fingern beide Litzen unabhängig voneinander bewegen. Das Lötzinn steht ein wenig von der Rolle auf dem Tisch ab. Dann mit der rechten Hand den Lötkolben dran und fertig.

Wie gesagt alles eine Frage der Finger. Die Chinesen können doch auch mit 2 Stäbchen in einer Hand rumzappeln :cool:

Ich meinte in einer Linie zusammen. Aber Du hast recht, ich hab noch nicht oft genug chinesisch gegessen.:rolleyes:
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)