Forum: Mikrocontroller und Digitale Elektronik AVR ATtiny1616


von Hans Peter (Gast)


Lesenswert?

Hallo liebe Mikrocontroller Freunde,
für die Schule müssen wir ein Projekt mit dem AVR ATtiny1616 
durchführen. Leider konnte ich bisher keine Bibliothek für die USART 
Schnittstelle finden. Die Bibliothek von Peter Fleury wurde uns nahe 
gelegt, jedoch fehlt da die Definition für den ATtiny1616 und als 
Anfänger habe ich keine Ahnung wie ich die Bibliothek anpassen muss. Ein 
Blick ins Datenblatt hat mir leider auch nichts gebracht, da die dort 
angegebenen Register nicht funktionieren.

Vielleicht kann mir hier ja jemand weiterhelfen.

Mit freundlichen Grüßen und vielen Dank
HP

von Asm'ler (Gast)


Lesenswert?

Einfach zu blöd dass man als Hochsprachler auf sowas angewiesen ist. Der 
Teufel liegt halt im Detail, gelle?
Mit Asm ist die Ansteuerung ein Klacks. Da kommt man IMMER aus eigener 
Kraft weiter!

von Thomas S. (selli69)


Lesenswert?

Wenns eine andere lib auch sein darf:

https://github.com/jnk0le/AVR-UART-lib

Dort in usart.h (bzw. usart.c in der Fleury lib) einen eigenes Set für 
den 1616 anlegen bzw. ein kompatibles suchen und den 1616 anhängen.

Kannst auch versuchen den Entwickler zu kontaktieren und freundlich drum 
bitten den 1616 mit einzufügen. Die Entwicklung ist bei der von mir 
genannten lib gerade aktiv, d.h. die Chancen stehen gut.

: Bearbeitet durch User
von Asm'ler (Gast)


Lesenswert?

Jungs ihr habt noch nicht gerafft dass sich die UART Hardware der AVR 
Series0/1 im Vergleich zu älteren Typen geändert hat. Mal schnell was 
anlegen, anhängen, einfügen is nicht!

von Minimalist (Gast)


Lesenswert?

Häh.  Atmel  Start generiert einem doch schon den uart Treiber auf 
Wunsch.  Klickibunti in der gui. Funktioniert bei mir praxiserprobt auf 
dem 1616 Out of the Box.

von Hans Peter (Gast)


Lesenswert?

Vielen Dank für eure Antworten.

Jedoch wäre es schon sehr von Vorteil irgendwie die Bibliothek von Peter 
Fleury zum Laufen zu bekommen, da wir einen alten Code eines ATmega644 
zur Verfügung gestellt bekommen haben und dieser nun auf den ATtiny1616 
laufen soll.

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Hans Peter schrieb:
> Vielen Dank für eure Antworten.
>
> Jedoch wäre es schon sehr von Vorteil irgendwie die Bibliothek von Peter
> Fleury zum Laufen zu bekommen, da wir einen alten Code eines ATmega644
> zur Verfügung gestellt bekommen haben und dieser nun auf den ATtiny1616
> laufen soll.

Dann pass die Lib doch eben an, das ist dermaßen simpel das wenn ihr 
dazu nicht in der Lage seid, es eigentlich direkt lassen könnt. 
Ansonsten soll der Lehrer die eben anpassen wenn er auf so eine Idee 
kommt, aber hier rumjammern das jemand das für euch erledigen soll, ist 
echt voll daneben, auch wenns ne Sache von 5 Minuten ist.

von Georg M. (g_m)


Lesenswert?

Hans Peter schrieb:
> für die Schule müssen wir ein Projekt mit dem AVR ATtiny1616
> durchführen. Leider konnte ich bisher keine Bibliothek für die USART
> Schnittstelle finden.

Beispiel: USART mit ATtiny412:
https://www.youtube.com/watch?v=1uYvAH7fsBA

von Peter D. (peda)


Lesenswert?

Hans Peter schrieb:
> Ein
> Blick ins Datenblatt hat mir leider auch nichts gebracht, da die dort
> angegebenen Register nicht funktionieren.

Warum sollen die nicht funktionieren.
Die UART ist auf allen Chips gleich. Zuerst stellt man den 
Baudratenteiler ein, die Bitbreite, Anzahl Stopbits und Parität.
Dann gibt es für Senden und Empfangen je ein Flag, ob Senderegister frei 
bzw. im Empfangsregister ein Byte empfangen wurde. Dann nur noch Byte 
schreiben bzw. lesen und fertig.
Und wenn man es ganz perfekt machen will, kann man noch Interrupts mit 
FIFO aufsetzen. Für Anfängerprogramme reicht oft einfaches Polling aus.

von Hans Peter (Gast)


Lesenswert?

Genau deshalb Programmier ich lieber andere Dinge und schau bei 
Stackoverflow nach da kommt einem keiner blöd wenn man sich damit nicht 
auskennt. Und ich wollte nie dass es mir jemand macht sondern Hilfe 
dabei

von Hans Peter (Gast)


Lesenswert?

Danke an alle die Helfen wollten ?

von Thomas S. (selli69)


Lesenswert?

Hans Peter schrieb:
> Genau deshalb Programmier ich lieber andere Dinge und schau bei
> Stackoverflow nach da kommt einem keiner blöd wenn man sich damit nicht
> auskennt.

Auf Stackoverflow gibts auch digitale Fleißbildchen für die Leute mit 
dem am stärksten ausgeprägten Helferkomplex. Gibts hier Gott sei Dank 
nicht.

> Und ich wollte nie dass es mir jemand macht sondern Hilfe
> dabei

Hier gibts Hilfe zur Selbsthilfe. Das heißt, wenn der Wille es zuerst 
einmal selbst zu versuchen nicht erkennbar ist, dann haben jene, welche 
helfen könnten, recht wenig Motivation dies zu tun.

Wie hätte denn diese Hilfe deiner Meinung nach aussehen sollen? Dein 
einziger Beitrag war ein "Kann ich nicht". Deine Initiative nachdem 
mehrere Leute hier geposted haben, es wäre eine gute Idee die lib zu 
erweitern, war gleich Null. Der einfache Versuch die Teile der lib zu 
editieren und das Ergebnis, egal ob es funktioniert oder nicht, hier zu 
posten und zur Diskussion zu stellen wurde nicht unternommen. Was 
erwartest Du also?

: Bearbeitet durch User
von BlaBla (Gast)


Lesenswert?

Ganz so einfach ist das bei den neueren ATtiny nicht mehr. Stichwort: 
"PORT Function Multiplexing". Erst müssen die gewünschten Funktionen mit 
den richtigen Ports softwaremäßig verbunden werden. Am besten überlässt 
man das der "Atmel Start".

https://start.atmel.com/

von Peter D. (peda)


Lesenswert?

BlaBla schrieb:
> Ganz so einfach ist das bei den neueren ATtiny nicht mehr.

Doch, ist es.
Es ist genau so, wie bei den "alten" AVRs. RXEN, TXEN schalten 
automatisch die zugehörenden Pins um.
Neu ist die alternative Belegung, die man mit dem USART0 Bit umschaltet 
(von PB2/3 nach PA1/2).

von BlaBla (Gast)


Lesenswert?

Peter D. schrieb:
> Doch, ist es.
> Es ist genau so, wie bei den "alten" AVRs. RXEN, TXEN schalten
> automatisch die zugehörenden Pins um.

Oh ja! Stimmt! Da war ich auf dem Holzweg. Asche auf mein Haupt.

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.