- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 28

Thema: PWM und SOFTUART gleichzeitig

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Der komische Effekt mit _bl(4) +- _yawnow könnte durch die Datentypen verursacht werden. _bl(4) ist Word und _yawnow ist Integer. Da könnte es Probleme mit Überläufen kommen, wenn das Ergebnis nicht mehr in eine Interger variable paßt. Normal wird Word und Integer bei der Addition / Subtraction ja gleich bearbeitet, nur ist dann nicht klar wie man das Ergebnis Interpretieren soll - ist das dann ein Word oder Integer.

    Ein Fehler in der Baudrate sollte sich auch beide µCs gleich auswirken. Es kann aber kleine Unterschiede geben, weil die Teiler für die Baudrate ggf. etwas anders sind. Tiny2313 und Mega8 sollte hier aber gleich sein.

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Hm, also dass der Fehler in den versch. Typen liegt, habe ich mir schon fast gedacht... Aber ich dachte, da ja _bl(4) ein Word ist, ist doch klar, als was das Ergebnis interpretiert werden muss, als WORD!? ... Das komische daran ist ja, dass es mit - funktioniert, nur mit + nicht...
    Aber ok, ist wohl so! Wie kann ich das Problem nun umgehen? Beide als Integer oder als Word deklarieren geht nicht, da dann die Wertebereiche nicht mehr passen würden? Habt ihr eine Idee? Oder muss ich erst alles i-wie in andere Wertebereiche umrechnen, dann subtrahieren/addieren und dann wieder "in die alten Wertebereiche zurückrechnen"? Das wäre doch schon sehr umständlich!
    Evtl. hat da jemand einen heißen Tip für mich?

    Gruß
    Chris

  3. #3
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Um zu sehen was der Compiler aus dem Code macht, müsste man sich mal den ASm Code ansehen. Wohl nicht mit dem Ganze Programm, sonder eine kleines Testprogramm mit nur 2-3 Zeilen. Das sich da - und + unteschiedlich verhalten ist schon komisch, könnte aber auch an den Werten liegen die dabei rauskommen.

    Es sollte gehen, wenn man das Ergebnis erstmal in eine Variable vom Typ long steckt und dann in erst in Word.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Ich muss ehrlich gestehen, dass ich nicht weiß, wo sich der asm Code befindet? Hab damit noch nie gearbeitet...
    Hm ok, ein long ist zwar 4 Bytes groß, aber ok, wenns nicht anders geht mach ichs vorerst mal so! Danke für die Hilfe

    Gruß
    Chris

    EDIT:
    Gerade ist mir aufgefallen, dass mein _yawnow woll garnicht richtig berechnet wird. Bei einem Test habe ich
    Code:
    _yawnow = _yawnow * -1
    geschrieben, und wollte damit eigentlich die Drehrichtung umkehren... Doch ich musste feststellen, dass _yawnow bei keiner Bewegung der WM+ garnicht 0 ist?! Ohne diese Invertierung steht der Servo ohne Bewegung leicht nach links geneigt, mit dieser Invertierung jedoch nach rechts?! Das bedeutet doch, dass _yawnow nicht Null (0) ist...
    Werds dann gleich mal ausprobieren, _yawnow mit anderen Datentypen zu berechnen!
    Mittels der Umwandlung in eine Long-Variable hab ichs auch nicht hinbekommen, hab mehrere (alle, die mir eingefallen sind) Möglichkeiten ausprobiert, jedoch ohne Erfolg!

    EDIT2:
    Gerade ist mir eingefallen, dass ich evtl. Framesize zu klein gemacht habe... Hab jetzt mal provisorisch sw-, hw-stack und framesize raufgesetzt, jetzt klappts auch mit
    Code:
    _bl(4) = _bl(4) + _yawnow
    Bin vorher auch schon ein bisschen geflogen, jedoch muss ich morgen etwas Pappelholz kaufen, damit das Teil leichter wird (momentan noch teilweise aus Alu)...
    Zum Thema PID, werds dann morgen mal probieren, obs jetzt mit dem größeren Framesize klappt, aber erstmal Physik-Klausur ....
    Geändert von Che Guevara (18.05.2011 um 21:05 Uhr)

Ähnliche Themen

  1. 2 ISR gleichzeitig?
    Von DerSchatten im Forum C - Programmierung (GCC u.a.)
    Antworten: 15
    Letzter Beitrag: 26.01.2010, 09:48
  2. Problem ISP und USI als i2c gleichzeitig
    Von vklaffehn im Forum AVR Hardwarethemen
    Antworten: 1
    Letzter Beitrag: 16.08.2007, 14:46
  3. 8 Aufgaben gleichzeitig?
    Von Athlonxp2000 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 28.12.2006, 14:15
  4. 2 Interrupts gleichzeitig???
    Von x8r im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 23.01.2006, 18:49
  5. 16 IOs und LCD (quasi-gleichzeitig)
    Von lanzelot im Forum C-Control II
    Antworten: 13
    Letzter Beitrag: 01.02.2005, 04:21

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress