Ich habe mir avrgcc 20011121a laut Turtorial installiert. Wenn ich das gcctest1.rom file in den 4433 brenne funktionierts.Aber wenn ich das File selber erzeuge funktioniert es nicht. Ich bekomme auch keine Fehlermeldung. Nachdem ich make eingegeben habe, bekomme ich die Meldung errors: none ps.: MCU habe ich im Makefile geändert sonst nichts. Ich hoffe es kann mir jemand helfffffen. mfg Toni
Installierte aktuelle Version WinAVR 3.3 ! Zitat von der Seite http://www.mikrocontroller.net/avr-gcc.htm "Die aktuellste Windows-Version von avr-gcc gibt es auf http://sourceforge.net/projects/winavr/."
Was heißt denn, ,,funktioniert es nicht''? Was kann denn noch nicht funktionieren, wenn denn schon alles (im AVR) funktioniert? Meinst Du, daß die Simulation nicht tut? Simulation ist Schall und Rauch... Aber im Ernst: was Du da installiert hast, ist hornalt. Die aktuelle Windows-Versoin von avr-gcc und Konsorten findest Du in der WinAVR-Distribution. Wenn Du sowieso neu anfängst, dann tu Dir (und uns, die wir Deine Fragen beantworten sollen :) den Gefallen und nimm was aktuelles.
In diesem ebenso veralteten gcctest1 Beispielen befindet sich eben neben der Source auch das bereits ein fertiges Binary. Ich nehme an Toni konnte erfolgreich dieses Binary brennen, aber sein selbst kompiliertes Binary funktionierte offenbar nicht. Ich mich Jörgs Vorschlag nur anschliessen, installiere die neueste WinAVR Distribution und vergesse die alten gcctest* Beispiele. Zusätzliche Beispiele findest Du auch auf meiner Homepage: http://www.mysunrise.ch/users/pfleury/avr-software.html
Ich habe jetzt win AVR3.3 installiert. Weiters habe ich die avrgcc-examples von Peter Fleury kompiliert. Kein Fehler wie bei der alten avrgcc 20011121a Version. Ich habe dann voller Freude Walkingled in meinen 4433 gespielt.Aus Walking Led wurde Standingled, alle Leds Leuchten. Habe dann so alles ausprobiert was mir eingefallen ist. Das Makefile von AVR3.3 habe ich dann etwas abgeändert. (MCU und Target) und siehe da jetzt gehts. Warum ???? Vielleicht kann mir einer das erklären. Danke für euer bemühen.
Toni, wie du richtig bemerkt hast, muss man dem avr-gcc im Makefile angeben für welchen AVR-Typ man ein binary bilden will. Meine Beispiele habe ich für den 8515 entwickelt und getestet, sie sollten aber auch auf anderen AVRs laufen.
Ich habe jetzt auch mit dem Makefile von den Beispielen von Peter Fleury ein binary erzeugen könne, das in meinem 4433 funktioniert. Dabei habe ich nur folgende Änderung vorgenommen. MCU = at90s4433 statt:ROMFORMAT = src habe ich ROMFORMAT = ihex somit habe ich ein intel hex binary erzeugt, denke ich. Doch beim Compilieren von PWMDEMO gab mein Compiler auf. Der Grund dafür ist, das ich den 4433 verwende, und nicht den 8515.(MCU 4433) Ich hoffe meine Aussagen sind richti,wenn nicht korrigiert mich bitte. mfG Toni
Ich habe jetzt das PWMDEMO von Peter Fleury für den 4433 abgestimmt. Sieht so aus: ************************************************************************ *******/ #include <inttypes.h> #include <avr/io.h> /* * constants */ #define OC1A PD5 // output compareA pin /* * function prototypes */ static void delay(uint16_t us); /* * function definitions */ static void delay(uint16_t us) /* delay for a minimum of <us> microseconds */ /* with a 4Mhz crystal, the resolution is 1 us */ { while ( us ) us--; } int main(void) { uint8_t i = 0; DDRB = 0xff; // use all pins on PortB for output PORTB = 0xff; // set output high -> turn all LEDs off sbi(DDRD,OCR1); // set OC1A pin as output cbi(PORTD,OCR1); // clear OC1A // enable 8 bit PWM, select inverted PWM TCCR1A = _BV(PWM10) | _BV(COM11) | _BV(COM10); // timer1 running on 1/8 MCU clock with clear timer/counter1 on Compare Match // PWM frequency will be MCU clock 8 512, e.g. with 4Mhz Crystal 977 Hz. TCCR1B = _BV(CS11) | _BV(CTC1); /* * Dimm LED on and off in interval of 2.5 seconds */ for (;;) { /* dimm LED off */ for( i=255; i>0; i--) { OCR1L = i; delay(10000); // delay 10 ms } /* dimm LED on */ for (i=0; i<255; i++) { OCR1L = i; delay(10000); // delay 10 ms } } } mfG toni
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.