- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 10

Thema: Hat jemand eine Idee bevor ich verzweifel?

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #6
    Erfahrener Benutzer Roboter-Spezialist Avatar von RolfD
    Registriert seit
    07.02.2011
    Beiträge
    414
    Also die Version von Klebwax gibt bei
    lcd_cpos = c % LCD_LL;
    lcd_line = c / LCD_LL;

    und c=0 als Ergebnis für lcd_cpos UND lcd_line je = 255 bzw. vermutlich eher -1 aus obwohl alles uint8_t ist bzw. auf solches gecastet wurde.
    So hab ich das aber auch mal gelernt...
    In wie weit das mit int bzw. längeren vorzeichenbehafeten Zahlen anders wird, muss ich mir noch mal genauer ansehen.
    Übrigends lässt sich der Code von mir recht gut ohne Augenkrebs lesen wenn man sich den in ein Editor mit Syntax highligtning packt, Klebwax. Und zum Angucken war die Kurze Version aus Post 1 gedacht.
    Aber zu dem Progrämmchen...
    LCD_LL ist bei mir 15 und das was du auf 20 gesetzt hattest.
    Die Ausgabe dazu lautet:
    Code:
    [READY]
    0, 255, 255
    1, 0, 255
    2, 1, 255
    3, 2, 255
    4, 3, 255
    5, 4, 255
    6, 5, 255
    7, 6, 255
    8, 7, 255
    9, 8, 255
    10, 9, 255
    11, 10, 255
    12, 11, 255
    13, 12, 255
    14, 13, 255
    15, 14, 255
    16, 255, 0
    17, 0, 0
    18, 1, 0
    19, 2, 0
    20, 3, 0
    21, 4, 0
    22, 5, 0
    23, 6, 0
    24, 7, 0
    25, 8, 0
    26, 9, 0
    27, 10, 0
    28, 11, 0
    29, 12, 0
    30, 13, 0
    31, 14, 0
    32, 255, 1
    33, 0, 1
    34, 1, 1
    35, 2, 1
    
    ---3<---
    
    78, 13, 3
    79, 14, 3
    Man beachte, das die erste Ziffer die koordinate -1,-1 hat, und die ganze erste Line die line-1 ist. Also so dolle getestet, wie du sagst, war das auch nicht
    Der Weg funktioniert zwar... auch wenn da noch nicht alles auf 0 ausgeht... aber das kann man ja ggf. anpassen. Ich wollte aber explizit die Division und den Modulo Operator vermeiden wie ich auch schrieb! Allerdings kann so auch kein Div0 Fehler auftauchen wie ich befürchtete. In so fern.. deine Lösung funktioniert.
    Zudem erklärt das aber nicht, warum der Compiler 0 - (0 x 15) zu 1 und nicht wie richtig, zu 0 bringt.. und zwar unabhängig von der Optimierungsstufe.
    Ich denke auch nicht, das generell dem Compiler zu misstrauen ist, ich kann mir aber sehr gut vorstellen, das genau so ein Term in den regression Tests nicht getestet wird weil er eigentlich Unsinning ist. Es wäre zumindest nicht der erste Bug im gcc.
    Kann ja sein das ich noch irgend ein mitwirkenden Fehler drin habe.. will ich ja garnicht ausschließen... mir wär nur halt lieber, ich hätte eine schlüssige Erklärung für das (für mich) komische Ergebnis 1.
    Geändert von RolfD (14.05.2014 um 18:40 Uhr)
    Sind Sie auch ambivalent?

Ähnliche Themen

  1. switch case aud union und struct gehen schief, hat einer eine Idee warum ???
    Von jdelphi im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 0
    Letzter Beitrag: 29.09.2011, 13:04
  2. Signalweiche mit Avr- jemand eine idee??
    Von spass-basti im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 14
    Letzter Beitrag: 23.04.2007, 15:21
  3. Potentialproblem. Jemand eine idee?
    Von sebastian.heyn im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 22.08.2005, 16:55
  4. Bild auf TV erzeugen - Jemand eine IDEE?
    Von sebastian.heyn im Forum AVR Hardwarethemen
    Antworten: 20
    Letzter Beitrag: 03.05.2005, 13:28
  5. Ports beim ATmega32 gehen nicht! warum?? jemand eine Idee!!
    Von raptor_79 im Forum AVR Hardwarethemen
    Antworten: 4
    Letzter Beitrag: 18.01.2005, 14:55

Berechtigungen

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

12V Akku bauen