- Akku Tests und Balkonkraftwerk Speicher         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 26 von 26

Thema: Interruptprobleme

  1. #21
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    26.05.2004
    Beiträge
    133
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Ich hab mich mit pwm noch nicht auseinandergesetzt,das kommt erst.
    aber ich denke die pwm läßt sich zur laufzeit verändern,also kommst du vielleicht auch mit nur einem kanal aus,welchen du jeweils anpassen kannst.

    aber das kommt drauf an wie das aussehen soll.
    vielleicht kannst du ne tabelle oder so erstellen in welcher du die werte fix festlegst,welche led wann und wie hell leuchten soll.
    und diese werte rufst du in einer schleife der reihe nach ab.

    wie das mit dem interrupt und verzögerungen is müßtest du in der hilfe nachsehen können.
    aber ich glaube die verzögerung wird nicht unterbrochen.
    es wird bei einem interrupt lediglich ein pointer gesetzt in welcher zeile des programms unterbrochen wurde,dann springt er zu dem label welches du angibst,und anschliessend wieder zurück,dahin wo der pointer gesetzt wurde.
    ein timer läuft im hintergrund ab,also intern durch hardware,dadurch wird das programm nicht verzögert,also müßte der interrupt sofort abgearbeitet werden.
    alternativ könntest du auch mit assembler verzögern,mit einer ganzen menge "nop" hintereinander.
    dadurch veranlaßt du den den rechner einen takt lang nichts zu tun.
    ein takt wird aber sehr kurz sein bei 1 million takten pro sekunden.
    erhöhst du den takt,mußt du auch den code wieder anpassen.
    aber das würd ich mir nicht antun.

    also dann doch lieber timer

    sollte ich falsch liegen,bitte ich um korrektur.

    MfG,
    --> Mr.G.

  2. #22
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    Zitat Zitat von 1hdsquad
    Ich dachte, der Interrupt wird SOFORT ausgeführt
    Wird er auch.
    Allerdings solltest du versuchen zu verstehen, wieso die Änderung die du in der ISR vorgenommen hast erst bis zu einer halben Sekunde später wirksam wird.
    In diesem Fall liegt ein klassischer Denkfehler vor !

    PWM ist mit so einem kleinem Käfer übrigens nicht wirklich ein Problem .. auch 16 einzelne Kanäle nicht. nur, ob das schon mal einer in Bascom versucht hat kann ich nicht sagen.
    Allerdings empfiehlt sich meiner Ansicht nach für Basic Programmierer eh nur eine Hardware PWM, welche auch der ATtiny 2313 liefern kann (4 PWM Kanäle hat er).

    Grüße,
    Hanni
    Grundregeln des Forenpostings:
    1. Nutze niemals die Suchfunktion!
    2. Überprüfe niemals die Topics nach Ähnlichkeiten!
    3. Schreibe alles in hellgelb!

  3. #23
    1hdsquad
    Gast
    Naja, ich brauch aber 5 Kanäle
    ISR? Bahnhof? Auch die Timer sind mir suspekt. Wie sage ich denn z.B., dass er nach einem bestimmten Wert unterbricht? Muss ich die ganze Zeit prüfen?
    MFG

  4. #24
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    Zitat Zitat von 1hdsquad
    Naja, ich brauch aber 5 Kanäle
    Na dann viel Spass beim Programmieren einer Software PWM unter Bascom !!

    Zitat Zitat von 1hdsquad
    ISR? Bahnhof?
    ISR = Interupt Service Routine - das is das Ding, das bei einem Interupt abgearbeitet wird.

    Zitat Zitat von 1hdsquad
    Auch die Timer sind mir suspekt. Wie sage ich denn z.B., dass er nach einem bestimmten Wert unterbricht?
    Der eine oder andere Blick ins Datenblatt könnte da weiterhelfen.

    Zitat Zitat von 1hdsquad
    Muss ich die ganze Zeit prüfen?
    Ne, das definitiv nicht.

    Grüße,
    Hanni
    Grundregeln des Forenpostings:
    1. Nutze niemals die Suchfunktion!
    2. Überprüfe niemals die Topics nach Ähnlichkeiten!
    3. Schreibe alles in hellgelb!

  5. #25
    1hdsquad
    Gast
    Du meinst bestimmt das Datenhandbuch
    Ich könnte auch einen Mega88 nehmen... Der hat 6 PWM.
    MFG

  6. #26
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    26.05.2004
    Beiträge
    133
    Hier im RN-Wissensbereich ist der timer sehr gut beschrieben.
    Auch die Bascom hilfe verwenden.
    dann gibts noch die samples die bei Bascom enthalten sind.

    arbeite dich da mal durch,danach sollte eigentlich alles klar sein.

    einfach gesagt geht es darum,daß der timer eine gewisse zeit braucht um von 0 bis zum überlauf zu zählen.
    beim überlauf springt dein programm genau wie beim interrupt an ein von dir definiertes label.
    die zeit die der timer benötigt um überzulaufen hängt vom timer selbst, z.b. 8 bit oder 16 bit ,vom startwert den du festlegst und natürlich von der taktfrequenz ab.
    wie du den startwert berechnest und damit z.b. einen 1 sekunden timer definierst steht wie gesagt im rn-wissen,in der Bascom hilfe und in den samples.
    am besten nimmst du dir ein sample her und probierst einfach herum.
    is wirklich kein großes ding.
    einen timer kannst du übrigens auch verwenden um deine pwm zu erzeugen.

    MfG,
    --> Mr.G.

Seite 3 von 3 ErsteErste 123

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress