• .
  • Willkommen im Forum!
  • Alles beim Alten...
  • Du hast kaum etwas verpasst ;-)
  • Jetzt noch sicherer mit HTTPS
Hallo, Gast! Anmelden Registrieren


Attiny und C/C++
#1
Irgendwie soll das ja bisher nicht gegangen sein. Nun - mit dem Studio 4 und WinAVR - scheint aber alles zu gehen.

Hab daher diesen Beitrag mal umkopiert.


Studio4, Tiny85, MKII vorbereitet, PORTB-Zugriff. Sieht IMHO alles soweit vielversprechend aus...

[Bild: 1_avr.jpg]

Jetzt frag ich mich nur, womit der 62 Byte zugeschmiert hat. misstrau

Und ich frag mich, wieso der für einen Portzugriff erst ein Hilfsregister laden muss. Das bin ich vom PIC direkter gewohnt. Liegts am Compiler oder braucht der AVR das so?

Ich bin zwar im Studio noch Greenhorn, aber das wird stündlich besser.
 
#2
Zitat:Irgendwie soll das ja bisher nicht gegangen sein
wieso?
afaik war studio-x schon immer asm, dazu konnte man gcc laden+installieren um C drin zu haben...

bzgl portzugriff: zb SBI set bit in i/o register
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
#3
Ich hatte das angenommen. Dass das jetzt so geht wie Gucki berichtete hat mich einfach überrascht. Ich bin davon ausgegangen, das man für C immer einen separaten Compiler benötigt. Aber ich bin das auch nicht die Konifere auf dem Gebiet Big Grin
 
#4
Tschuldigung, heißt das nicht Konfitüre?
...mit der Lizenz zum Löten!
 
#5
Schön das dir dies aufgefallen ist, natürlich sollte das Konfitüre heißen Big Grin Big Grin Big Grin Big Grin
 
#6
Zitat:Original geschrieben von alfsch
bzgl portzugriff: zb SBI set bit in i/o register

Jepp. Thx. Fast genau wie beim PIC.

Beim PIC-Compiler gabs dazu ne Spracherweiterung: "PORTB.2 = 1" setzte den Pin2 im Port.

Ich bin noch in den Headern beim Suchen, wie die das beim gcc vorbereitet haben. Wenn da nix ist, schraub ich mir das mit defines selbst. Kann ich mir aber nicht vorstellen, dass die das Bit-Knipsen nicht vorbereitet haben.
 
#7
naja, du kannst ja auch inline asm machen...
für bits : SBI / CBI set -clear bit (2 clocks)
für ganzen port: OUT / IN portX (1 clk)

    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
#8
Out bedingt ein geladenes Register. Also auch wieder zwei Takte.

Hmmm... naja.. zumindest kein Nachteil. Und mit zwei 16MHz-Takten ist der AVR immer noch viermal schneller als der PIC.
 
#9
Hab eben die MK2-Seifendose angeschlossen. Das Studio hat das Teil sofort erkannt und gleich mal ein Update der Firmsoftware durchgeführt. Ich wäre jetzt bereit, den Tiny wie mit einem ICE zu debuggen. Das war ich bisher nur von den großen Atmels gewohnt. Nicht schlecht. überrascht
 
#10
Schade, dass man immer so wenig Zeit am Stück findet.

Aber nun endlich hab ich den Tiny mit dem MK2 verbunden, kann ihn also programmieren, debuggen und einfach mal rumdaddeln.

[Bild: 1_attiny1.JPG]

Mal gucken, ob alles auch so klappt. Beim AVR32 gabs ab und an mal schlimme "Zuckungen". In jedem Fall bin ich aber fasziniert, was Atmel alles in die kleine Tiny-Kiste gepackt hat.
 
#11
Wunderbar. Einfach wunderbar Heart Das muss so ungefähr der Komfort sein, mit dem Kahlo da gerade arbeitet.

[Bild: 1_attiny2.JPG]
 
#12
Ich hantiere zur Zeit mit einem Teensie 2.0 . Sie sind kompatibel zu Arduino-Bords, nur viel kleiner. Die dazugehörige Programmiersprache ist anscheinend vereinfachtes C, jedenfalls werkelt der GCC im Hintergrund. Wenn man will, kann man auch auf die Vereinfachungen verzichten und bei C bleiben.

Für MPs ohne USB klaube ich mir gerade etwas Praktikables zusammen. Was ist MK2?
 
#13
Zitat:Original geschrieben von kahlo
Was ist MK2?
Ah. Selbst gefunden. Niedlich...
 
#14
MKII = teure Seifendose motz
 
#15
Dein Teensy gefällt mir Heart Mittelschwerer Controller mit eingebautem MKII. Wink
 
#16
Irgendwo hab ich noch den hier rumliegen. Sollte in etwa das gleiche sein, nur billiger. Wenn ich Zeit und Lust hab, muss ich mal die Installation von WinAVR und den Treibern hinter mich bringen...
 
#17
Ich freunde mich auch immer mehr mit dem Compiler an. Mit ein paar Feinjustagen wird das schon ganz ok.

Einzig mit dem Flash hadere ich noch. Bei "8 kByte" denkt man natürlich an viel Programmplatz. Dem ist aber nicht so. Das Teil frisst Worte. Oftmals sogar gleich zwei auf einmal. Also sinds 2 bis 4 kBefehle, sagen wir mal 3 kBefehle.

Da steckt der PIC den Tiny locker in die Tasche. Er verwendet ausschließlich ein 14-bit langes Befehlswort, in dem sich die Operanden verstecken. 4 kWorte Flash sind auch echte 4000 Befehle.

Weit überlegen wird der Tiny sein, wenns um konstante Byte-Tabellen geht. Da braucht der PIC jedesmal 14 bit, um ein Byte zu speichern und selbst das geht nicht ohne Tricks, denn er kann die Byte-Konstante nur in einem Return-Wert verstecken. Um an den ranzukommen, muss er erstmal diesen Returnbefehl callen. Extrem uneffektiv.

 
#18
Ich muss das zum Laufen bekommen, damit ich die Glasperlen von Holm verwenden kann. Er hat mir einen Packen riesiger Chips geschickt Confused . Hier im Bild oben und unten, im Vergleich zu meiner derzeitigen Entwicklungsumgebung klappe lachend :

[Bild: AtmelMonster.jpg]

Da muss mir ein der Chipgrösse angemessenes Projekt einfallen...
 
#19
Ein 8051-Derivat Heart Mein erster Controller war ein 8048. Herrliche Zeiten. Smile Dafür brauchst Du aber einen richtigen Prommer (12V-Programmierung).

Das Teil entspricht eigentlich einem Controller ohne Firlefanz wie PWM, AD, Komparatoren, Eprom, Watchdog und interner Clock. Eigentlich ideal für Deine Uhr.
 
#20
Nee nee, daran übe ich mit dem Teensie. Die Uhr läuft soweit, eine Zeitabweichung habe ich noch nicht feststellen kønnen. Trotz allem will ich noch einen Drehimpulsgeber zur Zeiteinstellung dranbauen. Und dann waren da noch Weckzeiten...

Zur Zeit steht das Steckbrett sehr dekorativ in der Bastelkammer.

[Bild: UhrTeensieSteckbrett.jpg]