- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 18

Thema: counter Problem (SRF05 Ultraschallsensor C code)

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
    Die Schreibweise mit TCCR1B = (1<<CS11); ist besser, weil man da das ganze Register definiert, also alles richtig einstellt, egal was vorher drin war. Die andere Version wird meistens auch gehen, weil der normale Mode default ist. die Version mit dem |= wird ggf. kürzer weil dafür spezielle ASM Befehle existieren.

    So ähnlich ist es mit dem Stoppen des Timers - das kommt hier ohnehin nach dem Auslesen, ist also nicht von Bedeutung. Man könnte es ggf. Probieren den Timer erst zu stoppen, und dann auszulesen. Im Prinzip sollte es aber auch bei laufendem Timer gehen.
    An sich macht GCC das auslesen von 16 Bit Registern richtig, man könnte es ggf. auch mal von Hand probieren (erst low Byte lesen), oder den erzeugten Code ansehen.

    An sich kann ich da keinen Fehler sehen. Ein versuch wäre ggf. noch den Timer erst auf 0 zu setzen und dann zu starten. Im Prinzip sollte aber beides gehen.

    Eine kleine Ungenauigkeit ist da noch drin bei der Ausgabe. Statt itoa sollte man utoa nehmen, denn die variable ist uint16_t. Bis gut 32000 sollte das aber auch noch keinen Unterschied machen.

    Die 58 µs/cm kommen übrigens ganz gut hin mit der Laufzeit. Das ist also schon die Zeit bis zu Echo.

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.10.2009
    Beiträge
    437
    Zitat Zitat von Besserwessi Beitrag anzeigen
    die Version mit dem |= wird ggf. kürzer weil dafür spezielle ASM Befehle existieren.
    Die Timerregister sind meist oberhalb des IO-Adressbereiches, den SBI & CBI erreichen können, diese Opcodes gehen nur bis 0x1F.
    Beim ATM8 sitzt TCCR1B auf 0x2E, damit ist die Sequenz: IN, ORI, OUT, bei der direkten Zuweisung dagegen nur: LDI, OUT, ein Takt weniger.
    Ports liegen oft im Bereich unter 0x1F, da ist Bit-weises Setzen und Löschen dann tatsächlich schneller.
    Die 58 µs/cm kommen übrigens ganz gut hin mit der Laufzeit. Das ist also schon die Zeit bis zu Echo.
    Ja, richtig. Ist ja der Weg hin und zurück.

Ähnliche Themen

  1. SRF04 oder SRF05 Ultraschallsensor ?!
    Von kamatschka im Forum Sensoren / Sensorik
    Antworten: 10
    Letzter Beitrag: 13.04.2012, 16:25
  2. Antworten: 27
    Letzter Beitrag: 14.10.2009, 18:49
  3. SRF05 Ultraschallsensor an atmega32, kein Signal
    Von bruegae im Forum Sensoren / Sensorik
    Antworten: 3
    Letzter Beitrag: 20.11.2008, 20:58
  4. Git es den Ultraschallsensor SRF05 mit analoger Spannung?
    Von Sheridan im Forum Sensoren / Sensorik
    Antworten: 6
    Letzter Beitrag: 18.04.2007, 16:35
  5. Ultraschallsensor SRF05
    Von MORRI$ im Forum Sensoren / Sensorik
    Antworten: 0
    Letzter Beitrag: 31.07.2006, 15:12

Stichworte

Berechtigungen

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

Solar Speicher und Akkus Tests