for(int i=0; i<255; i++)
{
}
So sollte das aussehen.. keine Kommas wenn du das wissen wolltest
Dann mein Glückwunsch, schön!Zitat von adso
PonyProg ging nicht? Tutorial war nicht tut (verständlich) genug? Woran lag es denn? Lag es an den Fuses? Egal, nun geht es ja. Wenn Du noch mehr Fuses umstellen willst (der Name Fuse kommt NICHT von Kon-Fus-ion) dann guck Dir mal diesen Fuse-Rechner an. Da hab ich am mega32 die Fuses seeeeehhhhr sparsam eingestellt *ggggg*.Zitat von adso
No entiendo (muss ich in Spanisch schreiben, weil mir der ganze Satz spanisch vorkommt). Auf Deutsch: Kapier grad nix. Ich kenne allenfalls den C64 - der hat aber mit Mikrocontrollern nichts zu tun.Zitat von adso
Ciao sagt der JoeamBerg
for(int i=0; i<255; i++)
{
}
So sollte das aussehen.. keine Kommas wenn du das wissen wolltest
Hallo,
unter Project -> Configuration Options (Da warst du ja schon)
Seitlich den Tab Custom Options und dann -std=c99 zufügen.
Gruß
Jens
Hi, McJenso, hallo adso,
und bitte - was bedeutet das jetzt? Ich habe bei mir das -std=gnu99 gefunden. (Hatte ja gesagt, dass ich NIE etwas an der Configuration einstelle, FAST nie - solche Arbeiten hatte bisher AVRStudio praktisch immer für mich gemacht *gggggg*).
Über die www.gnu.org habe ich eine Erklärung gefunden:
... nur verstehe ich nicht, was das hilft - oder was ein anderer Modus nicht hilft ? ? ?Zitat von Die GNU-Website - GCC 4.2 Release Series
Changes, New Features, and Fixes
Ciao sagt der JoeamBerg
Hallo,
C89 bzw C99 ist der Name für die Norm von C. Erst gab es C89 dann wurde C erweitert und so entstand nach und nach C99. Das sind übrigens imoh die Erscheinungsjahre.
In C89 war for (int i;i<10;i++){} so nicht vorgesehen, in C99 schon.
Bzw bei C89 durften die Deklarationen nur am Anfang stehen.
Es gibt natürlich noch andere Sachen die geändert wurden.
Gruß
Jens
Hallo McJenso,
danke, grad bin ich mit einigen Leseminuten fertig: Kernighan/Ritchie und AVR-GCC-Tutorial beim netten mikrocontroller dot net. So einen Schimmer von static (und dessen Gegenteil) und dem möglichen Sinn vor Warnungen zu inline-Funktionen habe ich bekommen. Vielleicht wird dieser Schimmer mal zu einem Licht.
Jedenfalls vielen Dank für Deine Erklärung. Das mit den Erscheinungsjahren hatte ich (fast) gedacht - obwohl mein Horizont fast bei FORTRAN77 aufhört *gggg*. Und über verschiedene C-Standards aus unterschiedlichen Zeiten lassen sich ja auch K+R ja hin und wieder aus.
Ciao sagt der JoeamBerg
So, danke vielmals.
Jetzt programmiere ich mal eine Weile und bau mir dann noch ein Roboter zum RN-Control.
Gruss
Euer Adso
Hallo zusammen
Ich muss das Thema gleich nochmals aufgreifen. Ich habe noch ein wenig herumgespielt und geschafft, die Fusebits zurückzusetzen. Das wäre ja nicht schlimm, es gab wieder die tiefen Töne. Leider habe ich dann einen Kollegen (Er erzählte mir, er arbeite viel mit Ponyprog ...) gefragt, wie ich die Fusebits einstellen muss. Leider hat er mir gesagt, es müsse alles wie im Vordefinierten AVRStudio sein. Unter Complimieren -> "Disconnected Mode" -> "Fuses":
[X] Bootsz=11 (Boot Flash size=256 words Boot start adress=$3F00)
[X] Bodlevel=1 (Brown-out detection level at VCC=2.7 V)
[X] CDSEL=1111 SUT=11 (Ext. Crystal/Resonator High Freq,; Start-up time: 16CK + 64ms)
Alle anderen Kästchen sind deaktiviert.
Somit hat er mir gesagt, ich solle im Ponyprog die Fuses folgendermassen einstellen: (Natürlich Finger weg von Bootlock und Lock).
[ ] OCDEN
[ ] JTAGEN
[ ] CKOPT
[ ] EESAVE
[X] BOOTSZ1
[X] BOOTSZ0
[ ] BOOTRST
[X] BODLEVEL
[ ] BODEN
[X] SUT1
[X] SUT0
[X] CKSEL3
[X] CKSEL2
[X] CKSEL1
[X] CKSEL0
Naja, im nachhinein ist man immer schlauer, ich hätte alle Kreuzlein invertieren müssen. (Nach microcontroller Forum)->
[X] OCDEN
[X] JTAGEN
[X] CKOPT
[X] EESAVE
[ ] BOOTSZ1
[ ] BOOTSZ0
[X] BOOTRST
[ ] BODLEVEL
[X] BODEN
[ ] SUT1
[ ] SUT0
[ ] CKSEL3
[ ] CKSEL2
[ ] CKSEL1
[ ] CKSEL0
Stimmt das So? Der ATMEGA32 reagiert nicht mehr und einen Frequenzgenerator (nach Kollegen sollte das so gehen) habe ich leider nicht. Ich habe jedoch bereits einen neuen ATMEGA32 bestellt und der sollte voraussichtlich morgen bereits kommen. Frequenz sollte 16Mhz sein.
Gruss und Dank
Euer adso
Hallo,
die Bits für den Takt passen so. Möchtest du On Chip Debug, Jtag und Brown-out detection wirklich aktivieren? Brauchst du das?
Wenn der neue AtMega da ist programmier damit erst einmal einen Taktgenerator, ohne die Fusebits zu ändern, also mit internem Takt.
Damit solltest du den anderen wiederbelebt bekommen.
ansonsten noch der Link auf den beliebten fusebit calculator.
Gruß
Jens
Der Atmega32 scheint komplett tot zu sein. Kann keine Progs oder Fusebits überschreiben.
In den Fall sieht die optimale Einstellung folgendermassen aus (nach Fusebit calculator):
[ ] OCDEN
[ ] JTAGEN
[X] CKOPT
[ ] EESAVE
[ ] BOOTSZ1
[ ] BOOTSZ0
[ ] BOOTRST
[ ] BODLEVEL
[ ] BODEN
[ ] SUT1
[ ] SUT0
[ ] CKSEL3
[ ] CKSEL2
[ ] CKSEL1
[ ] CKSEL0
Wäre nicht so schwer. Was muss ich denn tun, um ihn mit 16 MHz laufen zu lassen? Im Manual steht nur was zu tun ist bis 8MHz. (Anhang)
Leider sind diese Fusebits wenig schwer zu verstehen, wenn man erst in die Thematik eingestiegen ist. Zum Glück seid ihr noch da. Vielen, vielen Dank.
Vielleicht wäre es an der Zeit ein Beispiel in RN Wissen fürs RN-Control mit C anzulegen?
Gruss
Euer Adso
Lesezeichen