Forum: Mikrocontroller und Digitale Elektronik ATtiny1614 neue Tinys EEPROM-Zugang


von Mr. AVR (Gast)


Lesenswert?

Hallo,

ich habe mir ein paar ATtiny1614 geholt. Ich finde es sehr gut, dass man 
16 kB hat, kleines Gehäuse und sogar einen DAC sowie SPI, TWI und UART. 
Nachher habe ich festgestellt das noch 2x16 bit und 1x12 Bit Timer, CRC, 
Timer Splitbar, HW-PWM an fast allen Pinnen, uwm.

Man merkt schon, die haben mir es angetan, die können echt viel, sind 
billig (50 Cent). Ich finde es wurden sogar ein paar Schwächen der XMega 
in der Konfig der Register verbessert.

Naja lange Rede kurzer Sinn:


Ich stehe jetzt an einem Problem (und einer Frage):

1. Frage: Habe ich das richtig verstanden, dass man ihn per internem 
Takt mit 16 oder 20 Mhz laufen lassen kann?

2. Problem: Ich habe meine Software vom ATtiny84 auf den neuen 
umgeschrieben. Beim Timer bin ich mir etwas unsicher ob das so richtig 
ist, OVF-INT habe ich gar nicht gefunden wo das aktivierbar war - habe 
jetzt Compare Channel 0 gemacht.

Das primäre Problem ist jetzt aber erstmal EEPROM. Ich habe avr/eeprom.h 
eingebunden, aber der meckert nur rum, dass NVM_STATUS, BUSY, uvm. 
undeclariert sind bei den jeweiligen Funktionen (eeprom_busy_wait();).

Brauche ich hier kein eeprom_busy_wait mehr oder geht das nun anders?

von c-hater (Gast)


Lesenswert?

Mr. AVR schrieb im Beitrag #5379327:

> 1. Frage: Habe ich das richtig verstanden, dass man ihn per internem
> Takt mit 16 oder 20 Mhz laufen lassen kann?

Ja. Steht so im DB, also wird es wohl auch so sein.

> 2. Problem: Ich habe meine Software vom ATtiny84 auf den neuen
> umgeschrieben. Beim Timer bin ich mir etwas unsicher ob das so richtig
> ist, OVF-INT habe ich gar nicht gefunden wo das aktivierbar war

Warum nicht? Steht im DB. Ist genau in dem Register, wo auch die anderen 
Interrupt Enable-Bits des Timers sind.

> Das primäre Problem ist jetzt aber erstmal EEPROM. Ich habe avr/eeprom.h
> eingebunden, aber der meckert nur rum, dass NVM_STATUS, BUSY, uvm.
> undeclariert sind bei den jeweiligen Funktionen (eeprom_busy_wait();).

Vermutlich kennen die Includes die Hardware der neuen Tinys einfach noch 
nicht oder du hast nicht das richtige spezifiziert. Also entweder die 
korrekte Spezifizierung nachholen oder den Kram selber neu 
implementieren. Alles dazu nötige steht, wer hätte das gedacht, im DB. 
Steckt im "Non volatile memory controller" NVMCTRL.

> Brauche ich hier kein eeprom_busy_wait mehr oder geht das nun anders?

Prinzipiell geht es genauso wie immer. Nur die Register und Bits heissen 
anders als bei den klassischen AVR8.

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.