Hallo, ich muss dringend für ein Prototyp den attiny12 nehmen, da kein anderer vorhanden, jetzt zu meinem schrecken unterstützt der WinAVR C-Compiler diesen nicht, zumindest heisst es beim compilieren immer: supportet for Assembly only....... gibts kein anderer C-Compiler der mit AVRSTudio einbindbar ist und freeware?? thx tronic
Nee, ich glaube, da muss ich dich enttäuschen. Der Tiny12 hat kein SRAM, also nix mit C (kein RAM, kein Stack, keine C-style Funktionsaufrufe) Da musst du mit Assembler ran.
SHIT Happens ..... jajajajaooo - mano, ja was macht ma jetzt.. vielleicht hat jemand von euch lust und laune diesen C-Code in Assembler umzuwandeln?? für Attiny12 2MHz....... gäbe Übung.. ne scheisse, weiss macht wohl niemand aber hoffen kann man .. so innerhalb 2-3 Tagen? pleeease?! #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> uint8_t z=0; uint8_t t=0; uint8_t g=0; ISR(TIMER0_OVF_vect) { if(g) { if(z==0) { PORTB|=(1<<PB0); //Ausgang 0 ein } if(z==1) { PORTB &=~(1<<PB0); //Ausgang 0 aus } if(z==2) { PORTB|=(1<<PB1); //Ausgang 1 ein } if(z==3) { PORTB &=~(1<<PB1); //Ausgang 1 aus } z++; if(z>3) { z=0; } t=0; g=0; } else {t++;} if(t>60) { TCNT0=0xEF; g=1; } } void ini() { DDRB = 0xFF; PORTB= 0x00; TCCR0|=(1<<CS01); //Clock durch 8 TIMSK|=(1<<TOIE0); TCNT0=0; } int main() { ini(); sei(); while(1) {} return 0; }
Du kannst es ja für einen anderen Prozessor compilieren lassen und dann den Assembler-Output weiter mit der Hand verarbeiten. Wenn du zuvor noch alle Variablen auf feste Register bindest, sollten eigentlich keine expliziten RAM-Referenzen mehr übrig bleiben. Du kannst dir auch mal Bruce Lightner's Rezept angucken: http://www.nongnu.org/avr-libc/user-manual/FAQ.html#faq_tinyavr_c Aber ich glaube, er hat da ein Dutzend Warnungen drüber geschrieben, dass man gut verstehen sollte, was man da tut. Im Prinzip hat er wohl meine eingangs genannte Idee automatisiert, wenn ich mir das recht im Kopf behalten habe.
Gehe auf die Seite von http://www.imagecraft.com/software/ Dort gibt es für 30 Tage uneingeschraenkte Compiler mit IDE; unter anderem auch für die AVR's ohne RAM. Ob der Attiny12 dabei ist, musst du selber schauen. MfG
thx. für die tips, aber hierzu noch ne frage: "Wenn du zuvor noch alle Variablen auf feste Register bindest" wie macht man das?
Wenn Du heute bei Farnell den ATtiny13 bestellst, liegt er morgen auf dem Tisch. Wo ist das Problem. ATtiny12/15 sollte man nicht mehr für Neuentwicklungen nehmen, sondern ATtiny13/25. Peter
attiny13 braucht einen externen oszillator! der 12er bzw. attiny45V nur ein quarz (muss genau sein!)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.