www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik c programmierung attiny45


Autor: an.na (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo zusammen,
erst mal respekt für dieses super forum, findet man auch nicht alle 
tage!

nachdem ich schon einige mega128 programmiert habe, wollte ich mir heute 
mal einen attiny45 anschaun.
ich war mir eigentlich sicher das des auch in c zu programmieren ist,
aber das avr studio ist da anscheinend anderer meinung:

../blinky.c:0: error: MCU `attiny45' supported for assembler only

wer hat da nun recht :-) bin eigentlich kein assembler user

und nachfolgend mag der compiler meine:

#include <avr/io.h>

nicht ( das heißt manchmal ja manchmal nein)

ich benutze das standartpacket:
avr studio 4.14 build 589
winavr
avrispmkII

schon mal danke für eure hilfe
an.na

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich vermute mal dein WinAVR ist uralt.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da musst du wohl ein hornaltes WinAVR haben.  Nimm entweder die aktuelle
Version (gestern rausgekommen) oder die vom Dezember letzten Jahres.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
an.na wrote:
> ich benutze das standartpacket:
> avr studio 4.14 build 589
Schön, das hat mit C erstmal nix zu tun...

> winavr
Und, welche Version? Den Tiny45 gibt es noch nicht allzu lange, deshalb 
sollte es mindestens ne Version von 2007 sein.

Wenn überhaupt, dann hat die Sache etwas mit dem WINAVR zu tun und nicht 
mit AVRStudio. AVRStudio kann kein C.

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Compiler hat Recht...

Der Tiny hat doch nichmal nen vernünftigen Stack! Überleg mal, wenn man 
in C schreibt
ISR(irgendwas...) {
  irgendeine_globale_variable = 1;
}

Weißte, was der GCC draus macht? Ein Register pushen, um mit selbigem 
SREG zu laden und wiederum zu pushen. Dann noch ein, zwei temporäre 
Register pushen. Dazu natürlich noch die Rücksprungadresse... das geht 
nicht mit einem winzigen Hardware-Stack.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven Pauli wrote:
> Der Compiler hat Recht...

Aber du unrecht ! Schau mal ins Datenblatt des tiny45...


Jörg Wunsch wrote:
> Nimm entweder die aktuelle Version (gestern rausgekommen)

Wo bekommt man die ? Ich finde nur die 20080512

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was schwafelst du hier von einem Hardware Stack.
Habe hier mit dem Tiny45 unter IAR C keine Probleme.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benedikt K. wrote:
> Jörg Wunsch wrote:
>> Nimm entweder die aktuelle Version (gestern rausgekommen)
>
> Wo bekommt man die ? Ich finde nur die 20080512

Ja, da ist nirgends was mit 20080610.

Dafür ist die buggy 20080430 wieder drin, ist die nun doch nicht buggy?


Peter

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger wrote:

> Ja, da ist nirgends was mit 20080610.

Wenn ich das hier richtig lese:

http://www.avrfreaks.net/index.php?name=PNphpBB2&f...

...dann hat er wohl das Teil aus Versehen nach 20070610 installieren
lassen und korrigiert das gerade.

Autor: an.na (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
das war schon mal die erste hürde :-)
hatte wirklich ne uralte version von winavr drauf,
bei euch sind anscheinden nicht so viele fußballfans, wegen den 
schnellen antworten ;-)

hir mal ein screenshot....
nur mein ispmkII kann man nicht wählen?

muss gestehen hatte bis jetz noch nix mit dieser programmieroberfläche 
an hut...

danke
an.na

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
an.na wrote:

> nur mein ispmkII kann man nicht wählen?

Damit kann man ja auch nicht debuggen.  Programmieren geht woanders,
da gibt's irgendwo einen Programmierdialog.

> muss gestehen hatte bis jetz noch nix mit dieser programmieroberfläche
> an hut...

Ich auch nicht.  Zum Glück muss man sie ja auch nicht benutzen.

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
an.na wrote:

> hir mal ein screenshot....
> nur mein ispmkII kann man nicht wählen?

Achte auf die Überschrift:"Debug platform"
Du kannst mit dem ISP mkII nicht Debuggen.

Autor: an.na (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
ok, heut is scho spät... hät man sehen müssen,

das miniprogramm lässt sich compilieren,
hexfile, makefile sollte passen,
die fusebits kann ich einwandfrei lesen,

nur ich möchte den internen rc verwenden, eingestellt sich der ext 
clock...

vielleicht kann mir jemand kurz und knapp erzählen wie ich direkt mit 
dem avrstudio den tiny beschreiben kann, mit dem "bulid and run" kommt 
man anscheinend zum debugmodus...

hab noch folgende einstellungen gewählt:
main: natürlich den tiny45 und isp mode mit f=125kHz
advanced die 8MHz

beim programmer AVRISPMKII USB 115200 Baudrate (ist fest)

danke für die hilfe
an.na

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.