Hallo Ich wollte eigentlich nur schnell ein Programm für den TINY13 anpassen, hänge aber jetzt schon den ganzen Abend an einem Problem fest. Ich kann machen was ich will, ich bekomme für die Registereinstellungen stets die Fehlermeldung "Symbol 'XXXXX' could not be resolved'. Wobei XXXXX für die in der Anlage unterstrichenen Register steht. Es ist, als könnte der Compiler z.B. nichts mit der Bezeichnung "TCCR0A" usw. anfangen. Ich habe aber die Namen mehrmals mit dem Datenblatt verglichen. Die gibt es doch alle für den Timer 0 des TINY13. Ich weiß einfach nicht mehr weiter. Die Einstellungen habe ich aus einem Programm für einen ATMEGA 8 übernommen. Dort gibt es keine Probleme. Allerdings verwende ich dort den Timer 1. Aber wie gesagt, die Register stimmen doch weitgehend überein. Vielleicht bin ich mittlerweile auch nur Betriebsblind geworden und übersehe etwas offensichtliches. Vielleicht sieht ja jemand den Fehler. Für etwas Hilfe wäre ich sehr dankbar. Gruß Jenny
Jenny Lo. schrieb: > Vielleicht sieht ja jemand den Fehler. Für etwas Hilfe wäre ich sehr > dankbar. Vielleicht. Falls du deinen Programm anhängst, sogar sehr wahrscheinlich.
vielleicht vergessen der Software zu sagen dass du einen Tiny13 benutzen möchtest?
Den TINY13 habe ich eingestellt. Viel Programm kommt da nicht. Ich würde ja gern ein PDF anhängen, aber wenn ich das richtig verstanden habe, gehen nur Bilder. Ich habe mal ein Bild vom Rest des Programms gemacht. Es ist noch nicht ganz fertig, sollte aber keine Fehler enthalten.
reicht das Symbol attiny13 für die io.h ? mal das io.h durch <avr/iotn13.h> austauschen oder noch das passende Symbol "__AVR_ATtiny13__" definieren.
Nimm das AVR Studio zum programmieren. Dann gehts.
Gast
#3894449
Jenny Lo. schrieb: > Aber wie gesagt, die Register stimmen doch weitgehend > überein. sagt wer? Hast du schon mal ins Datenblatt des Tiny geguckt, wie die Register dort heißen?
Probier mal in deinen Projekten KEINE Leerzeichen zu verwenden. Also nicht "kleiner Bagger" sondern "KleinerBagger". Ich weiss nich ob das an Eclipse und plugin liegt oder generell am Aufruf von avr-gcc.... Das hat mich Tage gekostet :) Und ja es gibt OCR0A beim Atiny13. Zumindest bei mir. Wenn du Projekte neu anlegst kommt es bei mir schonmal öfter vor das die Fehlerkorrektur für den eingestellten µc nicht richtig funktioniert. Dann musst du den Prozessor wechseln, abspeichern. Wieder auf den richtigen Prozessor wechseln und nochmals abspeichern. Dann übernimmt die Fehlerkorrektur den richtigen Prozessor wenns ums überprüfen der Register etc. #defines geht. Das hat aber nicht mit dem kompilieren zu tun, den das funktioniert unabhängig davon. Wir sehen hier bei dir also zwei unterschiedliche Fehler die leider nix miteinander zu tun haben. Es gibt das Register beim Tiny13 ;) Bei diesem Code mit Projektnamen "kleiner Bagger" kommt dein Fehler raus.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
09:41:42 **** Build of configuration Debug for project kleiner Bagger **** make all Building file: ../main.c Invoking: AVR Compiler avr-gcc -Wall -g2 -gstabs -O0 -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=attiny13 -DF_CPU=1000000UL -MMD -MP -MF"main.d" -MT"main.d" -c -o "main.o" "../main.c" In file included from ../main.c:5:0: c:\winavr-20100110\avr\include\util\delay.h:95:3: warning: #warning "Compiler optimizations disabled; functions from <util/delay.h> won't work as designed" [-Wcpp] # warning "Compiler optimizations disabled; functions from <util/delay.h> won't work as designed" ^ Finished building: ../main.c Building target: kleiner Bagger.elf Invoking: AVR C Linker avr-gcc -Wl,-Map,kleiner Bagger.map -mmcu=attiny13 -o "kleiner Bagger.elf" ./main.o avr-gcc.exe: error: Bagger.map: No such file or directory make: *** [kleiner Bagger.elf] Error 1 Mit Projektnamen "Test" funktionierts.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
09:46:30 **** Build of configuration Release for project Test **** make all Building file: ../main.c Invoking: AVR Compiler avr-gcc -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=attiny13 -DF_CPU=8000000UL -MMD -MP -MF"main.d" -MT"main.d" -c -o "main.o" "../main.c" Finished building: ../main.c Building target: Test.elf Invoking: AVR C Linker avr-gcc -Wl,-Map,Test.map -mmcu=attiny13 -o "Test.elf" ./main.o Finished building target: Test.elf Invoking: AVR Create Extended Listing avr-objdump -h -S Test.elf >"Test.lss" Finished building: Test.lss Create Flash image (ihex format) avr-objcopy -R .eeprom -R .fuse -R .lock -R .signature -O ihex Test.elf "Test.hex" Finished building: Test.hex Create eeprom image (ihex format) avr-objcopy -j .eeprom --no-change-warnings --change-section-lma .eeprom=0 -O ihex Test.elf "Test.eep" Finished building: Test.eep Invoking: Print Size avr-size --format=avr --mcu=attiny13 Test.elf AVR Memory Usage ---------------- Device: attiny13 Program: 64 bytes (6.3% Full) (.text + .data + .bootloader) Data: 0 bytes (0.0% Full) (.data + .bss + .noinit) Finished building: sizedummy Invoking: AVRDude C:\WinAVR-20100110\bin\avrdude -pt13 -cavr910 -PCOM3 -Uflash:w:Test.hex:a avrdude: ser_open(): can't open device "\\.\COM3": Das System kann die angegebene Datei nicht finden.
Danke Jörg, das mit dem Prozessor ändern und abspeichern hat geholfen. Seit ich meinen Laptop auf W7 aufgerüstet habe und dort die Kepler Version von Eclipse installiert habe, treten solche Probleme auf. Bis jetzt konnte ich mir aber meist mit "Clean Project" und "Refresh" helfen. Mit der alten Eclipse Version unter XP hatte ich solche Probleme nicht. Dank auch an alle Anderen für die Mühe.
Und die Leerzeichen im Projekt waren nicht das Problem? Dann habe ich wohl noch ein anderes ;)
Jenny Lo. schrieb: > Ich würde ja gern ein PDF anhängen, aber > wenn ich das richtig verstanden habe, gehen nur Bilder. Heißer Tip: Du kannst auch einfach deinen Programmcode kopieren und hier einfügen. Aber nicht weiter verraten, das ist top secret.
Gast
#3894666
Daniel H. schrieb: > Heißer Tip: > Du kannst auch einfach deinen Programmcode kopieren und hier einfügen. > Aber nicht weiter verraten, das ist top secret. Du bist ja noch witziger als Kurt Krömer, Harald Schmidt und Onkel Fisch zusammen! Sollte man nicht für möglich halten, daß es so etwas geben kann.
Ich hatte einen Unterstrich in den Projektnamen gemacht. das hat aber nicht geholfen. Jetzt muss ich mich nur noch mit der Tatsache anfreunden, dass ich die Taktfrequenz des TINY13 nicht mit dem Burn-O-Mat auf 8 MHz einstellen kann... Das mit dem Quelltext kopieren ist mir gestern gar nicht mehr eingefallen, war wohl schon zu spät zum denken. Zu meiner Entschuldigung kann ich aber anführen, dass ich meine Beiträge auf einem anderen Rechner schreibe.
Jenny Lo. schrieb: > Jetzt muss ich mich nur noch mit der Tatsache anfreunden, dass ich die > Taktfrequenz des TINY13 nicht mit dem Burn-O-Mat auf 8 MHz einstellen > kann... Das kann auch kein anderes Programm. Die internen Quarze sind halt recht unflexibel. Außer du drehst mit entsprechendem Code daran rum. Aber das ist ohne kalibrieren auch nicht so einfach.
Ich könnte mich in den Hintern beißen. Hier liegen ATMEGA 8 und TINY 13 herum. Und anstatt dem bewährten ATMEGA oder wenigstens einem TINY 2313 zu nehmen, wollte ich sparen und habe den 13er genommen. Jetzt sitze ich rum und muss den Mist noch anpassen. Mit dem ATMEGA wäre ich in einer halben Stunde fertig gewesen...
Für meine Servoansteuerung habe ich übrigens noch ein einfaches Beispiel gefunden, dass nicht den PWM, sondern den Clear Timer on Compare Match Mode nutzt. Das macht die Handhabung beim TINY13 einfacher. Hier der Link: http://www.avrfreaks.net/forum/servo-control-attiny13
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.

