-         

Ergebnis 1 bis 9 von 9

Thema: F_CPU und _delay_ms - Richtige Werte schein Falsche zu sein

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    20.06.2007
    Beiträge
    8

    F_CPU und _delay_ms - Richtige Werte schein Falsche zu sein

    Anzeige

    Hi,
    ich hab ein Problem mit dem _delay_ms. Es funktioniert - Aber nicht wenn ich F_CPU so setzt wie ich das für richtig halte. Wo ist mein Denkfehler:

    Also ich hab den RN-Control 1.4 Mega32 (ist doch AT32mega?!) mit 16MHz.
    Makefile Eckdaten: MCU_TARGET = atmega32 und OPTIMIZE = -Os

    Wenn ich nun #define F_CPU 1000000UL setzt ist alles soweit okay. Aber eigentlich müsste ich doch F_CPU auf 16000000UL setzen (da = 16MHz), dann ist mein delay aber viel zu langsam.
    Was ist da falsch?

    btw.: wofür steht das UL???

    Vielen Dank

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    10.07.2004
    Ort
    Nürnberg
    Alter
    36
    Beiträge
    186
    Hi,
    sind denn deine Fusebits ordentlich gesetzt? Und wieviel hast du in dein delay_ms() in die Klammer geschrieben? das ist beschränkt durchs Zahlenformat und der maximal mögliche Wert muss auch noch durch den Takt in MHz geteilt werdeen!
    Musst mal in die Lib selber schauen, steht dann als Kommentar dabei!

    Und des UL war irgend so ein Zahlenformat glaub ich!
    Ich bin keine Signatur ich mach hier nur sauber

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.01.2007
    Beiträge
    134
    UL = unsigned long

    Grüsse, Stefan

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    10.07.2004
    Ort
    Nürnberg
    Alter
    36
    Beiträge
    186
    Wusst ichs doch! =D>
    Ich bin keine Signatur ich mach hier nur sauber

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    20.06.2007
    Beiträge
    8

    Fusebits RN-Controller

    So also die Fusebits. Hatte die eigentlich nicht verstellt. Nun hab ich mal unter:

    http://palmavr.sourceforge.net/cgi-b...=P&B_BOOTSZ0=P

    geschaut und gesehen das meine Fusebits nun doch anders sein müssten. Also hab ich die mal anders gesetzt aber dadurch ist nur alles noch langsammer und schlimmer geworden.

    Wie müssen dei den richtig, wenn ich den den 16MHz Quatz benutzen will?
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken fuse_125.jpg  

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.01.2007
    Beiträge
    134
    Dann doch eher so:
    http://palmavr.sourceforge.net/cgi-b...0=P&B_CKSEL0=P

    Als Referenz:
    http://www.nongnu.org/avr-libc/user-...il__delay.html

    Mit 16 Mhz kannst du somit
    262.14 / 16 = 16,38375 ms max. warten.
    (Kannst ja auch zwei delay_ms untereinanderschreiben)

    Grüsse, Stefan

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    20.06.2007
    Beiträge
    8
    Ich glaub jetzt hab ich ein PROBLEM. Hm hab ausversehen falsche Clock eingestellt und nun antwortet das Board nicht mehr.
    Und nun? Kaput?

  8. #8
    Erfahrener Benutzer Begeisterter Techniker Avatar von PCMan
    Registriert seit
    05.08.2006
    Ort
    Munich
    Beiträge
    311
    Retten mit dem NE555 z.B., falls du auf external resonator/oscillator gestellt hast. Dazu gibts auch Beiträge im Forum.
    vg

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    20.06.2007
    Beiträge
    8
    Dank hab ich schon gesehen aber n Kumpel hat n Endwicklungskit und der hat mir die schnell wider richtig gesetzt.

    Was hab ich daraus gelernt: Nicht an allem rumspielen von dem ich NULL ahnung hab.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •