Attiny45 Programmierung

OP #4875423
Hallo.

Habe bereits einiges an Arduino Uno/Mega programmiert wollte aber nun 
eine kleine Schaltung mit dem attiny45 ausprobieren.

Habe mir entsprechend meines Projekts schon eine Schaltung in Eagle 
erstellt und passend dazu ein "ISP-Shield" für den Arduino Uno 
(Anleitung/Idee von der Seite Kreativekiste .de)

Auf der Seite wird auch gezeigt das der Author mit der Arduino IDE 
arbeitet.
Jetzt ist meine Frage (da ich so oft jetzt gelesen habe das es nur mit 
Assembler geht) ob ich den attiny auch mit C programmieren kann und wenn 
ja ob ich bei dieser Methode noch etwas vorher programmieren muss bevor 
der Arduino das Programm auf den attiny schreiben kann.

Und kann mir jemand sagen wie bzw ob die Pins vom attiny iwie zugewiesen 
werden müssen (da die ja anscheinend mehrere Funktionen haben )

Ich entschuldige mich wenn ich einen schon passenden Beitrag nicht 
gefunden habe und bedanke mich im Vorraus für eure Hilfe

Gruß Lars
Hi,

hier ein Beispiel aus dem Internet:

//
// Tiny45
// 4 LED
// Hausbeleuchtung
//
#include <util/delay.h>         // Einbindung Datei Pause
#include <avr/io.h>             // Einbindung Datei Ausgänge
int main(void)
  {
    DDRB=0b0001111;             // Port B 0-3 auf Ausgang schalten
    while(1)                    // Programmschleife
      {
        PORTB &= ~+(1<<PB0);    // Schaltet Pin aus
        _delay_ms(500);         // Pause 500 ms
        PORTB |= (1<<PB0);      // Schaltet Pin ein
        _delay_ms(1500);        // Pause 1500 ms

        PORTB &= ~(1<<PB1);     // Schaltet Pin aus
        _delay_ms(500);         // Pause 500 ms
        PORTB |= (1<<PB1);      // Schaltet Pin ein
        _delay_ms(500);         // Pause 500 ms

        PORTB &= ~(1<<PB2);     // Schaltet Pin aus
        _delay_ms(1500);        // Pause 1500 ms
        PORTB |= (1<<PB2);      // Schaltet Pin ein
        _delay_ms(500);         // Pause 500 ms

        PORTB &= ~(1<<PB3);     // Schaltet Pin aus
        _delay_ms(500);         // Pause 500 ms
        PORTB |= (1<<PB3);      // Schaltet Pin ein
        _delay_ms(500);         // Pause 500 ms

      }
  }
Gast
Lars R. schrieb:

> Jetzt ist meine Frage (da ich so oft jetzt gelesen habe das es nur mit
> Assembler geht) ob ich den attiny auch mit C programmieren kann

Natürlich kann man einen Tiny45 auch in C programmieren. Mit Assembler 
kann man ihn nur deutlich weiter ausreizen. Aber das ist eigentlich bei 
praktisch jedem µC so.

Kannst du dir ungefähr so vorstellen wie beim Car-Tuning. Serie ist C, 
getuned ist Assembler. Serie hat vielleicht 220PS, getuned 700..800.

Die Frage ist eigentlich: brauche ich zum "Brötchenholen von der Tanke" 
(zu mehr bist du sowieso nicht fähig, sonst hättest du diese Frage erst 
garnicht gestellt) 800PS oder reichen dafür auch die 220 ab Werk?

That's it.
Gast
> daß sie selbst vor nutzlosesten Antworten nicht Halt machen.

Ich hatte gehofft, dass der Link zur entsprechenden Arduino Webseite 
helfen würde. Dort sind die Fragen wirklich alle beantwortet.
c-hater schrieb:
> Lars R. schrieb:
>
>> Jetzt ist meine Frage (da ich so oft jetzt gelesen habe das es nur mit
>> Assembler geht) ob ich den attiny auch mit C programmieren kann
>
> Natürlich kann man einen Tiny45 auch in C programmieren. Mit Assembler
> kann man ihn nur deutlich weiter ausreizen. Aber das ist eigentlich bei
> praktisch jedem µC so.
>
> Kannst du dir ungefähr so vorstellen wie beim Car-Tuning. Serie ist C,
> getuned ist Assembler. Serie hat vielleicht 220PS, getuned 700..800.
>
> Die Frage ist eigentlich: brauche ich zum "Brötchenholen von der Tanke"
> (zu mehr bist du sowieso nicht fähig, sonst hättest du diese Frage erst
> garnicht gestellt) 800PS oder reichen dafür auch die 220 ab Werk?
>
> That's it.


Naja sagen wir mal 220 auf 250 PS, das triffts schon eher. Im vergleich 
zu irgendwelchem durchschnittlichen Standardcode wird man nach 
C-Optimierung sicher keine 3-4 fache "Leistung" durch Assembler 
bekommen.
Gast
Hallo,

es stellt sich immer die Frage, wie man das Beurteilen möchte.

weniger Flash, SRam oder mehr Programmdurchläufe pro Sekunden.

Robin S. schrieb:
> Naja sagen wir mal 220 auf 250 PS, das triffts schon eher. Im vergleich
> zu irgendwelchem durchschnittlichen Standardcode wird man nach
> C-Optimierung sicher keine 3-4 fache "Leistung" durch Assembler
> bekommen.

Ich habe einen 4 zu 16 Dekoder in einer Hochsprache und später in 
Assembler realisiert und kann der Faktor 3 an weniger 
Flashspeicherbedarf schon ablesen.
OP
Stefan U. schrieb:
> Manchmal frage ich mich, ob der durchschnittliche Arduino Programmierer
> nicht einmal die Doku zu seinem Arduino System lesen kann.
>
> 
https://create.arduino.cc/projecthub/arjun/programming-attiny85-with-arduino-uno-afb829
>
> Hier steht doch alles, was man dazu wissen muss. Da sind all deine
> Fragen beantwortet!

Doch natürlich ,habe mir schon gewisse Fragen durch das Datenblatt 
beantwortet , bin jedoch was das Programmieren angeht nicht wirklich 
schlau geworden.

Aber danke für den Link , der beantwortet echt alle meine Fragen.


Gruß Lars R.
OP
c-hater schrieb:
> Die Frage ist eigentlich: brauche ich zum "Brötchenholen von der Tanke"
> (zu mehr bist du sowieso nicht fähig, sonst hättest du diese Frage erst
> garnicht gestellt) 800PS oder reichen dafür auch die 220 ab Werk?

ich sag mal so :Ich will mit dem Baustein nicht mehr als nur Brötchen 
bei de Tanke holen.

Wenn das mit C nicht möglich gewesen wäre hätte ich halt Assembler 
programmieren müssen, was ich aber nicht unbedingt wollte da ich lieber 
C programmiere.

Oder brauchst du nur für Brötchen holen extra 800PS ?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.