-         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: Fuse-Bit nicht sichtbar // Frage zu einem Programm

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    15.12.2018
    Beiträge
    5

    Fuse-Bit nicht sichtbar // Frage zu einem Programm

    Anzeige

    Hallo zusammen,


    ich beschäftige mich aktuell mit dem Atmega 8.
    Der Prozessor wird wie ich mehrfach gelesen habe mit gesetztem Fuse-Bit CKIV8 ausgeliefert.
    Leider wird dieses Fuse-Bit bei mir nicht im Atmel Studio 7 angezeigt. (Programmer oben links sichtbar)

    Kann mir jemand sagen woran das liegt?

    Klicke auf die Grafik für eine größere Ansicht

Name:	fuses.jpg
Hits:	14
Größe:	31,7 KB
ID:	33851


    Eine andere Frage noch:

    Ich bin aktuell dabei einen Schalt-blitz für mein Auto zu programmieren.
    Die ADC-Wandlung funktioniert soweit und auch. Bei Steigender Spannung gehen die LEDS nacheinander an.
    Nun möchte ich aber die letzte LED beim erreichen blinken lassen...

    Wie setze ich das am einfachsten um?
    Delay einfügen funktioniert ja nicht, da sonst das ganze Programm "gebremst" wird.
    Ich brauche nur einen Tipp... Evtl Timer?

    Danke und Viele Grüße

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    31
    Beiträge
    1.225
    Zitat Zitat von gioR Beitrag anzeigen
    ich beschäftige mich aktuell mit dem Atmega 8.
    Der Prozessor wird wie ich mehrfach gelesen habe mit gesetztem Fuse-Bit CKIV8 ausgeliefert.
    Leider wird dieses Fuse-Bit bei mir nicht im Atmel Studio 7 angezeigt. (Programmer oben links sichtbar)
    Doch, wird es. Die komplette Information versteckt sich in der letzten Zeile (LOW.SUTC_KSEL). Damit stellst du die Taktquelle ein, im Hintergrund passt Atmel Studio dann die nötigen Fusebits an.

    Zitat Zitat von gioR Beitrag anzeigen
    Ich bin aktuell dabei einen Schalt-blitz für mein Auto zu programmieren.
    Die ADC-Wandlung funktioniert soweit und auch. Bei Steigender Spannung gehen die LEDS nacheinander an.
    Nun möchte ich aber die letzte LED beim erreichen blinken lassen...

    Wie setze ich das am einfachsten um?
    Delay einfügen funktioniert ja nicht, da sonst das ganze Programm "gebremst" wird.
    Ich brauche nur einen Tipp... Evtl Timer?
    Timer ist ein gangbarer Weg. Entweder lässt du den Timer dann direkt die LED an- und ausschalten, oder du löst damit einen Interrupt aus und wackelst selbst am Pin.

    Viele Grüße,
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.929
    Den Hinweis auf LOW.SUTC_KSEL hatte ja schon markusj gegeben.

    .. ich beschäftige mich aktuell mit dem Atmega 8. Der Prozessor wird wie ich mehrfach gelesen habe mit gesetztem Fuse-Bit CKIV8 ausgeliefert ..
    Da hast Du falsche Auskünfte bekommen/gelesen. Ein Fuse-Bit CKIV8 existiert beim mega8 nicht (heißt aber, WENN es existiert, z.B. CKDIV8.) - die Takte können im Studio7, wie von markusj beschrieben wurde, eingestellt werden. Dies nur als Ergänzung zum Hinweis von Markus.

    Nachtrag: es lohnt sich immer das spezifische Datenblatt zu lesen. Ohne das zugehörige Datenblatt zu lesen ist der Umgang mit Mikrocontrollern eins der letzten großen Abenteuer unserer Tage.
    Geändert von oberallgeier (15.12.2018 um 11:50 Uhr)
    Ciao sagt der JoeamBerg

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    15.12.2018
    Beiträge
    5
    Hallo,

    ich danke euch für die Antworte... Ich habe ein Buch das behandelt den Atmega 88. In meinem Fall ist es der Atmega 8, bei dem ist es so wie Ihr es beschrieben habt...
    Vielen Dank !!

    Ich hänge aktuell an einer Kleinigkeit..

    Ich möchte an meinen Schalt-blitz die letzte LED beim erreichen der Drehzahl blinken lassen ohne das die anderen LED`s ausgehen.
    Deshalb kann ich ja kein interrupt verwenden oder?

    Ich bekomme über den 16 Bit-Timer die Led einfach nicht zum blinken...




    #include <avr/io.h>
    #include <util/delay.h>


    int main(void)
    {
    DDRB |= (1<<PB1); // PB0 Als Ausgang

    // Init Timer

    TCCR1B |= (1<<CS12) | (1<<CS10); // Prescaler CPU Takt/1024


    while (1)
    {


    if (TCNT1 < 3276
    {
    PORTB |= (1 << PB1);
    }

    else
    {

    PORTB &= ~(1 << PB1);


    }

    }
    }




    Eigentlich müsste doch die LED unter dem Wert 32768 an sein und ansonsten aus? Wo ist mein Denkfehler?
    Ich finde ausschließlich nur beispiele mit Interrupt

    Vielen Dank im voraus und schöne Weihnachten

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.527
    Blog-Einträge
    127
    Zitat Zitat von gioR Beitrag anzeigen
    DDRB |= (1<<PB1); // PB0 Als Ausgang
    Eigentlich müsste doch die LED unter dem Wert 32768 an sein und ansonsten aus?
    Hallo,
    ich bin nicht besonders in C aber sehe ich auch so wie Du.

    Der Kommentar hinter der "DDRB.." Zeile stimmt nicht: Ist die LED am richtigen Pin, nämlich PB1 nach Programm, mit welchem Vorwiderstandswert angeschlossen?

    Leuchtet die LED überhaupt nicht, oder ist sie immer an?

    In welchem zeitlichen Rhythmus soll sie blinken?

    Wie sind die Fuses jetzt eingestellt? Auf 8 oder 1 MHz?


    Gruß
    Searcher

    PS Schließe Deinen Code in Code Tags [CODE ] program [/CODE ] ohne die Blanks vor der letzten Klammer ein. Ist dann besser lesbar und die Emoticons erscheinen auch nicht mehr unfreiwillig Code Tags sind in der Vorschau (Button "Erweitert" bzw "Vorschau" ) auch mit dem # Zeichen erreichbar.
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    15.12.2018
    Beiträge
    5
    Hi searcher,

    danke für Deine Antwort. Ich habe den Kommentar abgeändert.. Ich habe zum probieren aktuell das Oszi angeschlossen... Das zeigt dauerhaft 5 V an (Ausgangszuorndung passt).
    Die Blinkzeit ist relativ egal... soll halt Blinken deshalb ist der Wert frei erfunden also 3276 .. Der Prozessor läuft aktuell auf 1 MHZ

    Danke und viele Grüße

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.527
    Blog-Einträge
    127
    Zitat Zitat von gioR Beitrag anzeigen
    das Oszi angeschlossen... Das zeigt dauerhaft 5 V an (Ausgangszuorndung passt).
    Hab keine weitere Idee außer vielleicht nochmal die Verdrahtung überpüfen. Daß keine ungewollte Verbindung sonstwo hin am Ausgangspin vorliegt.

    Mit dem Wert < 3276 im TCNT1 wird PB1 etwa 3,3 Sekunden auf high und dann ca. 64 Sekunden auf low geschaltet. Das das auch beim Oszi berücksichtigt wird und richtig abgelesen wird?

    Sonst ra(d)tlos
    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  8. #8
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.929
    ..
    // Init Timer
    TCCR1B |= (1<<CS12) | (1<<CS10); // Prescaler CPU Takt/1024
    ..
    Hier wurde die Waveform noch nicht definiert. Auf die Schnelle mal (m)eine Initialisierung für nen mega328, die wird (na ja, nicht getestet, aber ich bin sicher) so auch auf nem mega8 funktionieren. Ergibt ein 36 kHz-Signal bei nem 20MHz-Quarz auf dem Pinn PB1/OC1A, das ich für ne IR-Signalübertragung benutze. Die Parameter müsstest Du eben selbst anpassen bzw ne andere Waveform wählen.

    Code:
    // ============================================================================= =
    // ==  PWM-Routinen zur IRLED-ansteuerung auf OC1A/PB1    ====================== =
    //     Target MCU        : ATmega328p (als arduino-nano, Clone)
      void TC1PWM_init(void)        // Tmr/Ctr1 = PWM-Signal 36 kHz - EIN?schalten
    {                               // 
       TCCR1A |= (1<<COM1A1);       // enable Clear/set OC1A on Compare Match
                    //   also Port PB3, vgl. auch PWM-routine unten
       TCCR1B |= (1<<CS10);         // cs10 <=> clk/1 => no prescaling
       TCCR1B |= (1<<WGM13);        // PWM, Phase+Frequency correct
       ICR1    = 278;               // =>PWM-Frequenz 20MHz/(2*278) => 36,0kHz/27,8µs
    }
    // ================================================================================
    Ciao sagt der JoeamBerg

  9. #9
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.929
    Und - klappt das jetzt? Wenn ja oder wenn nein - was hast Du geändert ?
    Viel Erfolg, schönen Sonntag
    Ciao sagt der JoeamBerg

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    31
    Beiträge
    4.765
    In dem Programm ist kein Fehler zu erkennen und auch mit dem Simulator funktioniert es (ca. 33s ein/aus). Zum Testen passe ich Zeiten häufig an damit man es schön beobachten kann (wenn möglich). Wenn man eine Led anschließt verwende ich Zeiten zwischen ca. 0,5 bis 5s / Periode (also die Gesamtzeit Led ein + Led aus).

    MfG Hannes

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. [ERLEDIGT] Frage zu einem Programm zur base
    Von Thorben W im Forum Robby RP6
    Antworten: 4
    Letzter Beitrag: 13.07.2013, 17:49
  2. Schon wieder Fuse Frage :-(
    Von Spongebob85 im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 05.10.2007, 13:39
  3. Bitmap nicht sichtbar im Frontdesigner
    Von Zeroeightfifteen im Forum Konstruktion/CAD/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 0
    Letzter Beitrag: 31.12.2006, 14:21
  4. Frage zu Fuse-Bits
    Von rqd2 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 27.12.2006, 10:46
  5. Eagle: Vcc/GND-Pin von OPV nicht sichtbar?
    Von Minifriese im Forum Konstruktion/CAD/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 2
    Letzter Beitrag: 23.12.2006, 15:11

Berechtigungen

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