Forum: Mikrocontroller und Digitale Elektronik Attiny12 Tiny 15 in C programmeiren?


von Rudrigez (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen!

Mein System:
AVR Studio 4.12 Build 460
MCU:   AT Tiny12L, Tiny15
ISP von microcontroller.net

Die Tiny’s in Assembler zu programmieren funktioniert perfekt.
Nun will ich mein Programm aber in C schreiben.

Die Fehlermeldung ist immer:

//***************************
Build started 4.9.2006 at 09:37:37
avr-gcc.exe  -mmcu=attiny12 -Wall -gdwarf-2  -O0 -fsigned-char -MD -MP
-MT Main.o -MF dep/Main.o.d  -c  ../Main.c
../Main.c:0: error: MCU `attiny12' supported for assembler only
In file included from C:/Programme/winavr/avr/include/avr/io.h:319,
                 from ../Main.c:1:
C:/Programme/winavr/avr/include/avr/iotn12.h:51:4: warning: #warning
"MCU not supported by the C compiler"
make: *** [Main.o] Error 1
Build failed with 1 errors and 1 warnings...
//***************************

Quellcode siehe Anhang.

Beim umstellen auf (Optionen, MCU: Tiny15 ) funktioniert es! Der
Download der Hex File zeigt natürlich keine Wirkung…

Da ich die Header Datei gefunden habe: #  include <avr/iotn12.h>  war
ich mir eigentlich sicher, das man den Tiny12 in C programmieren
könnte…  Bein studieren des tutorials und Forums bin ich dann bin ich
auf die folgende Seite gestoßen:
http://lightner.net/avr/ATtinyAvrGcc.html
Der Autor schreibt selbst, dass man die Finger davon lassen sollte,
wenn man sich nicht 100% mit dem Compiler auskennt…

Gibt es wirklich keine Möglichkeit, die Tinys 12 und 15 unter AVR
Studio in C zu programmieren? Danke schon mal!

von Michael (Gast)


Lesenswert?

Wenn Du unbedingt kleine Dinger in C programmieren willst, dann nimm
einen Tiny13. C braucht einen Stack und damit 'etwas' RAM. Tiny12/15
haben dies nicht. Es gibt sicherlich Krücken, dies zum umschiffen, aber
dabei stolpert man leicht und säuft ab :-)

von Peter D. (peda)


Lesenswert?

"error: MCU `attiny12' supported for assembler only"

Was ist daran nicht zu verstehen ?

Der AVR-GCC will SRAM haben, deshalb gehen alle RAM-losen nicht in C
(AT90S1200, ATTiny11, ATTiny12, ATtiny15, ATTiny28).


Peter

von Rudrigez (Gast)


Lesenswert?

Hi,
Natürlich ist Fehler-Aussage klar verständlich!
Evtl. gab es ja inzwischen ein Update oder jemand hat einen Trick
gefunden... so wie im obigen Link.

Dann muss ich mir wohl einen Tiny13 bestellen, das einzigste Problem
ist halt das Warten bis der wieder da ist...

Danke euch beiden mal!

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.