- Labornetzteil AliExpress         
Ergebnis 1 bis 5 von 5

Thema: Servo ansteuern - ich komm nicht drauf!

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    45
    Beiträge
    1.273
    Ist es so gewollt, dass du beide Timer benutzt um nur ein Servo anzusprechen...?
    zusammengestückelt ausm RN-Wissen beitrag für 1 Servo:
    Code:
    Servoirq: 
    If Kanal = 0 Then    
       If Portb.0 = 0 Then                            'wenn port low       
          Timer1 = Servo(1)                           'dann timer auf entsprechende verzögerung       
          Portb.0 = 1                                 'und port anschalten    
       Else                                           'das hier passiert erst bei dem darauf folgenden interrupt       
          Portb.0 = 0                                 'dann port wieder ausschalten       
          Incr Kanal                                  'und den nächsten kanal bearbeiten    
       End If 
    End If
    If Kanal = 1 Then   
       Timer1 = 40000                                     
       Kanal = 0 
    End If 
    Return
    Viele Grüße, William
    -> http://william.thielicke.org/

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    27.02.2006
    Beiträge
    221
    Hallo Willa,
    ja du hast natürlich recht. Es muss Timer0 heißen.
    Allerdings ändert es dennoch nichts an der Funktion bzw. Funktionslosigkeit!
    In meinem 2. Code (nicht funktionierendem) wird das Servo viel zu häufig befeuert, und das egal wieviele "Kanäle" ich noch dranhänge.
    Aber diese müssten doch eine Verzögerung bringen, da sie ja abgearbeitet werden müssen bis wieder Kanal 0 drankommt!?![COLOR=#000000 ! important][/COLOR]

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    45
    Beiträge
    1.273
    dein code geht nicht, weil du kein elseif benutzt. Kanal wird um 1 erhöht, sofort danach wird gefragt ob er einer höher ist, und dann wieder um eins erhöht. dein ganzer code läuft also innerhalb von einem einzigen interrupt ab.
    Geändert von Willa (21.05.2011 um 22:25 Uhr) Grund: typo
    Viele Grüße, William
    -> http://william.thielicke.org/

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    27.02.2006
    Beiträge
    221
    vielen Dank, das war der Fehler. wie kann man nur so blind sein.
    danke.
    jetzt klappt alles

Ähnliche Themen

  1. Manche haben`s einfach drauf !
    Von Andree-HB im Forum Konstruktion/CAD/3D-Druck/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 6
    Letzter Beitrag: 26.02.2010, 04:52
  2. Unbekanntes Display ansteuern aber wie ??? komm nicht weiter
    Von Looser im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 10
    Letzter Beitrag: 06.11.2009, 23:51
  3. C++ Servo ansteuern (C-code von der seite geht nicht)
    Von niccommander im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 6
    Letzter Beitrag: 25.09.2008, 17:33
  4. HD6180 über ATMega16 ansteuern - komm nicht weiter
    Von Adam im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 06.04.2005, 09:19
  5. Erweiterungen, Was ist da genau drauf und drann?
    Von FrankyB im Forum Robby CCRP5
    Antworten: 14
    Letzter Beitrag: 24.12.2003, 22:58

Berechtigungen

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

12V Akku bauen