- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 19 von 19

Thema: RN-Mega2560 blaue LED an PortD5 zum leuchten bringen

  1. #11
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Anzeige

    Powerstation Test
    Ist das der komplette Code? Wenn nicht zeig mal den kompletten.
    Oder nimm den 16bit Timer. Damit schärfste ganz genau 1 Sekunde bei 16MHz.
    Geändert von Kampi (31.08.2011 um 17:00 Uhr)

  2. #12
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    3662*60/50=4394,4?

    Sind die 16MHz intern?
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #13
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2010
    Beiträge
    24
    Davon gehe ich aus (dass sie intern sind). Es ist auch ein 16MHz Quarz und ein Uhrenquarz integriert, aber ich bekomme nicht heraus an welchem Port und für welchen timer.

    Den ganzen Code kann ich hier nicht rein tun, das sprengt das Forum. Wie tut man eigentlich Code in einer Box zum scrollen darstellen?

    Was meinst Du mit 3662*60/50=4394,4?

  4. #14
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    So war das gemeint (bei ungefähr 50 Sekunden für eine Minute):

    Code:
    while (1)
    {do something if flag >= 4394}
    }
    oder 4578*60/68
    Geändert von radbruch (31.08.2011 um 17:24 Uhr)
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #15
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Les dir die Doku zu dem Board durch da steht drin wo was angeschlossen ist. Außerdem sind die Timer für das Quarz egal. Es sind zwei angeschlossen und dann musst du dem Timer nur noch sagen welche Taktquelle er nehmen soll.
    Den Code machste mit [co de] und am Ende [\co de]. Natürlich zusammen geschrieben.
    Welchen Takt du benutzt hängt von deinen Fusebits ab. Wenn du nen externen gewählt hast nimmt er den 16MHz Quarz. Wenn du intern hast wird der Takt intern generiert und dann kann diese Schwankung schon mit der Ungenauigkeit des internen Oszillators zu tun haben.
    Schau da nochmal nach.

  6. #16
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2010
    Beiträge
    24
    Er nimmt den (auf Fusebit SUP_CKSEL) EXTXOSC_8MHz_XX_16KCK_65ms. Alle anderen Fusbits bis auf SPIEN sind aus.

  7. #17
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Nimm den 16bit Timer und stell den Prescaler auf 1024. Dann zählt er in 1 Sekunde bis 15625. Nun lädst du den Timer mit 49910 vor. Nun hast du jede Sekunde einen Timerinterrupt.

  8. #18
    Neuer Benutzer Öfters hier
    Registriert seit
    26.07.2010
    Beiträge
    24
    Danke für Eure Hilfe. Ich habe es mit dem 32kHZ Quarz auf der Platine gelöst (danke an Kampi für den Tip nochmal in die Doku zu schaun). Mit:

    TCCR2B |= (1<<CS22)|(1<<CS20); //(1<<CS21)|
    TIMSK2 |= (1<<TOIE2);
    ASSR |= (1<<AS2);
    ASSR &= ~(1<<EXCLK);

    macht es jetzt jede Sekunde einmal Klick (der Interrupt wird ausgelöst). Mit 60x komme ich genau auf 1 min.

    Dank Euch.

  9. #19
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Mit dem Uhrenquarz kommst du auch genauer auf 1sec als mit 16MHz, weil sich die 32kHz besser auf 1 runter teilen lassen.
    Siehst du hier:
    Frequenz Uhrenquarz: 32768 Hz
    Frequenz Quarz: 16MHz

    32767 : 1024 = 32
    16000000 : 1024 = 15625

    Wenn du jetzt den Vorteiler noch größer wählen könntest, könntest du die 32kHz noch auf genau auf 1 runter teilen (2^15 = 32768 ). Wenn du den dann mal mit 16MHz rumrechnest wirst du feststellen das du 16MHz nie auf genau 1 runterrennen kannst. Die musst du dann z.B. auf 15625 runter teilen und den Zähler dann noch zählen lassen um 1sec zu erreichen.
    Geändert von Kampi (01.09.2011 um 09:30 Uhr)

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. PIC in Programmiermodus bringen?
    Von katze117 im Forum PIC Controller
    Antworten: 3
    Letzter Beitrag: 06.05.2010, 20:53
  2. Wie Halogenlampen leuchten lassen?
    Von Jacob2 im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 29.03.2008, 11:17
  3. Amega32 es leuchten nur 4LED's
    Von m.defi im Forum AVR Hardwarethemen
    Antworten: 1
    Letzter Beitrag: 13.02.2008, 15:27
  4. Diode mit Pc zum Leuchten bringen (kein Plan)
    Von MischaMV im Forum Elektronik
    Antworten: 35
    Letzter Beitrag: 12.03.2005, 16:30
  5. [ERLEDIGT] blaue segmentanzeigen
    Von krist0f im Forum Elektronik
    Antworten: 11
    Letzter Beitrag: 13.06.2004, 01:14

Berechtigungen

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

12V Akku bauen