- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 7 von 7

Thema: Atmega168A Prescaler ändern und neu flashen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.698
    Note that any value can be written to the CLKPS bits regardless of the CKDIV8 Fuse setting ..
    GENAU. Aber der prescaler beeinflusst NICHT den Controllertakt - der tickert im fabrikneuen Zustand mit 8 MHz >>aus dem internen Oszillator<< ABER (wieder fabrikneu) ist Fuse CKDIV8 gesetzt, sodass der resultierende CONTOLLERTAKT - egal ob interner Takt oder externer Oszillator/Quarz-oderwasauchimmer - durch acht dividiert wird, fabrikneu daher 1 MHz. Der Prescaler ..:
    This can be used with all clock source options, and it will affect the clock
    frequency of the CPU and all synchronous peripherals. clkI/O, clkADC, clkCPU, and clkFLASH are
    divided by a factor ..

    d.h. damit wird NICHT der Prozessortakt reduziert. Damit werden aber die entsprechenden Takteingänge von Timer, ADC etc an die gewünschten Gegebenheiten angepasst (keine Ahnung ob das jetzt verständlich ist - ich hatte seinerzeit ewig gebraucht das zu begreifen).

    .. wenn ich den Chip langsamer getaktet habe als 1 MHz, dann muss ich beim nächsten flashen den "flashtakt" irgendwie runtersetzen? ..
    Genau. Bei 1 MHz (also fabrikneu - oder so eingestellt) muss der Flashtakt kleiner als 250 kHz sein.

    Nachtrag:
    Unwissen bringt Fehler. Leider kenne ich die Dokumentation zum mega168 (auch zum mega238 und m1284) nicht auswendig, nicht mal den Abschnitt "System Clock Prescaler" bei den von mir schon länger benutzten Typen :-/ . Darin verstehe ich seit eben wirklich so, dass damit offenbar wirklich der >>Prozessortakt<< direkt beeinflusst werden kann. Das wusste ich bisher nicht. Also ist es wohl möglich die von Dir gewünschte Prozessortaktung mit dem CLKPR zu beeinflussen. Das wurde von mir bisher nie benutzt, daher kann ich damit nicht umgehen. sorry.
    Geändert von oberallgeier (28.10.2016 um 10:40 Uhr) Grund: Nichtwissen zu CLKPR meinerseits
    Ciao sagt der JoeamBerg

  2. #2
    Habe nun mal auf clock_div_32 gestellt. Das war wohl ein Fehler. Kriege nun die Meldung

    Code:
    avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
    avrdude.exe: error: program enable: target doesn't answer. 1 
    avrdude.exe: initialization failed, rc=-1
                 Double check connections and try again, or use -F to override
                 this check.
    Sobald ich versuche, über die Commandline mit -B250 die Taktrate des USBasp runterzusetzen, kommt

    Code:
    avrdude.exe: set SCK frequency to 4000 Hz
    avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
    avrdude.exe: error: program enable: target doesn't answer. 1 
    avrdude.exe: initialization failed, rc=-1
                 Double check connections and try again, or use -F to override
                 this check.
    nichts mehr zu machen

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.698
    Zitat Zitat von wedemännchen Beitrag anzeigen
    Habe nun mal auf clock_div_32 gestellt. Das war wohl ein Fehler. Kriege nun die Meldung .. nichts mehr zu machen ..
    Hast Du mal nachgerechnet? WENN Dein Controller (fabrikfrisch) mit 1 MHz tickt und Du den Prescaler auf clk/32 stellt, dann kommen nach Adam Riese 31,25 kHz raus. Mit meinem Flashgerätchen kann ich zwar bis runter zu 1.21 kHz "programmieren", wenn ich mich richtig erinnere, aber unter 5 kHz oder so nur Fuses umstellen. Flashen geht bei meinem Dingelchen, wenn ich mich richtig erinnere, erst so ab 50 kHz aufwärts. Leider kann ich Dir zu avrdude und Deinem chinesischen USBasp nix raten, da ich über das Protokoll STK500 flashe.

    Zitat Zitat von wedemännchen Beitrag anzeigen
    .. könnte .. nicht erklären, woran es nach dem Setzen des Taktes auf 8 MHz hapert.
    Nur mal so, als Sicherheitsabfrage, hast Du den Controller weiter auf dem internen Takt stehen? Bei Dir sollten die Fuses in diesem Fall z.B. auf /SUT_CKSEL auf Int. RC Osc. 8 MHz; Start-up time ../ oder so ähnlich stehen, also auf INT.ernem RC OSC.illator! Ganz sicher also NICHT auf z.B. /Ext. Crystal Osc. ../ oder ähnlich, da ich vermute, dass Du an Deinem Controller keinen externen Quarz angeschlossen hast (hab ich Recht?).

    Zitat Zitat von wedemännchen Beitrag anzeigen
    .. Atmega168A und als Oberfläche nutze ich Atmel Studio 7, ..
    Kannst Du denn damit irgendwie die Fuses in Deinem Controller auslesen?
    Ciao sagt der JoeamBerg

  4. #4
    Wie sieht es denn aus, wenn ich den Macro "clock_prescale_set(clock_div_32)" nutze? ich hätte nun vermutet, dass der Prescaler nicht auf 1000000/32=31,25 kHz sondern auf
    8000000/32=250 kHz gestellt wird, da ich ja auch mit dem dividenden=1 auf 8 MHz komme.

    Was die Fuses angeht, ich habe noch nichts an denen rumgespielt, müsste also auf internen Oscillator stehen. CKDIV8 ist gesetzt. Und richtig, ich nutze keinen Quarz, eigentlich sollte zum üben
    erstmal die interne clock reichen. Was das Auslesen angeht bin ich mir nicht ganz sicher wie das hier läuft.
    http://www.atmel.com/webdoc/atmelstu...log.fuses.html
    Anscheinend kann man direkt fuses angeben, die dann sofort gesetzt werden. Soweit ich das sehe, sollte bei mir dahingehend auch alles im grünen sein.

    Ich habe hierfür ja den Atmega168A genutzt. Habe jetzt mal den Atmega168-20PU bestellt. Den hatte ich schonmal genutzt, damals hatte ich keine Probleme mit dem Prescaler.
    Habe nur seitdem auch die Software neu aufsetzen müssen. Also vllt liegt der Fehler irgendwo in der Software oder der 168A ist doch etwas anders in Hinsicht auf den Prescaler.

Ähnliche Themen

  1. [ERLEDIGT] ATmega168A: Software PWM Periodendauer verändert sich, woran kann das liegen?
    Von Dracyria im Forum C - Programmierung (GCC u.a.)
    Antworten: 10
    Letzter Beitrag: 28.09.2015, 09:03
  2. Problem mit ATMega168A und PWM
    Von TechMo im Forum Assembler-Programmierung
    Antworten: 6
    Letzter Beitrag: 19.09.2012, 07:10
  3. Verständnisfrage: Prescaler
    Von Icon2k im Forum AVR Hardwarethemen
    Antworten: 5
    Letzter Beitrag: 25.12.2010, 17:17
  4. AVR Prescaler Berechnung?
    Von weijr im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 24.11.2006, 11:38
  5. Prescaler ADC
    Von Gento im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 03.09.2006, 21:19

Stichworte

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress