- LiFePO4 Speicher Test         
Ergebnis 1 bis 9 von 9

Thema: Fehler suche

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Die Angabe welcher Kontroller und welcher Kompiler verwendet wird, erleichtert die Hilfestellung.
    Diese Schreibweise im main führt möglicherweise auch zu einem Fehler: DDRB=0xb11111111; // PortB als Ausgang definieren
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    möglicherweise verwirrt ihn das:

    volatile uint16_t zx,zy,D;

    void pause(D)
    {


    das ist "D" statisch definiert, aber auch als argument f. "pause"
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Das "D" ist als globale Variable definiert, wird auch nicht verwendet und gehört entfernt.

    Da im Programm ein Wert an die Funktion übergeben wird, muss diese Variable in Funktionsaufruf definiert sein.
    Das " void pause(D) " ergibt ein Warning, es soll so aussehen "void pause(unsigned int D)"
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    23.03.2011
    Beiträge
    51
    Zitat Zitat von Hubert.G Beitrag anzeigen
    Die Angabe welcher Kontroller und welcher Kompiler verwendet wird, erleichtert die Hilfestellung.
    Diese Schreibweise im main führt möglicherweise auch zu einem Fehler: DDRB=0xb11111111; // PortB als Ausgang definieren
    das war einen schreibfehler, eigentlich nur 0b11111111.
    danke

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.093
    Statt 0b... kann man auch die Dezimalschreibweise oder Hexadezimalschreibweise nehmen.

    Ich habe es am Anfang so gemacht, dass ich wenn ich einen ganzen Port o.Ä. setze zuerst die Binärschreibweise genommen habe (so wie du). Dann habe ich es in die Hex Schreibweise gewandelt und diese geschrieben. Die Umwandlung habe ich auf einem Zettel, den ich daneben gehabt habe gemacht.

    Wenn du deine Binärschreibweise nimmst. Die einzelnen Schritte:
    Ausgangskonfiguration hinschreiben (eventuell noch darüberschreiben, welcher Port gemeint ist (z.B. PB0-PB7)
    Aufteilen in 2 Nibbles (4bit)
    Zusammenrechnen
    Als Hex Format hinschreiben
    Code:
    0b11111111
    0b 1111  1111
    ergibt
      8+4+2+1    8+4+2+1
         15        15
    0x   f          f
     Ergebnis 0xff
    Du kannst aber auch so schreiben. So kannst du leichter einzelne Pins zuweisen ohne herumrechnen.
    Code:
    DDRB |= (1<<PB0) | (1<<PB1)....(1<<PB7);
    Einen Tipp habe ich noch (man sollte aber das händisch umrechnen können). Der Rechner von Windows kann Standartmäßig Hex- (0-15), Binär- (0,1), Oktal- (0-7) Dezimalzahlen (0-9) umrechnen. Bei älteren Versionen (z.B. 2k, XP,..) muss man Wissenschaftlich wählen. Bei z.B. Win 7 muss man Programmierer wählen. Bei Vista bin ich mir nicht sicher wie es da ist, müsste nachschauen.

    MfG Hannes

  6. #6
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Gelegentlich ist die binäre Schreibweise vorteilhafter. Um trotzdem den Überblick zu behalten verwende ich eine zusätzliche Kommentarzeile:
    Code:
    //     76543210
    DDRB=0b11111111;
    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Ähnliche Themen

  1. avr-gcc fehler
    Von che im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 30.07.2008, 15:01
  2. ADC Fehler?
    Von PICVB im Forum PIC Controller
    Antworten: 4
    Letzter Beitrag: 21.11.2007, 22:48
  3. wo ist der fehler??? please help!
    Von Robotik84 im Forum Asuro
    Antworten: 4
    Letzter Beitrag: 28.11.2006, 16:22
  4. ISP Fehler
    Von Thetis im Forum AVR Hardwarethemen
    Antworten: 4
    Letzter Beitrag: 04.10.2006, 16:26

Berechtigungen

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

12V Akku bauen