mikrocontroller.net

Forum: Compiler & IDEs DS18B20


Autor: alex111 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey ho...

ich habe schon mal geschrieben bzgl. des DS18B20 und ansteuerung in C.

Hat zufällig schon wer ein fertiges C Programm das ich evt. in CVAVR
verwenden kann oder ähnliches ?

Habe hier schon mal eines bekommen, aber widerrum für den DS1820, mit
dem ich einfach nicht weiterkomme.

Grüße, alex

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schreib dich einfach mal wo Dein Problem ist.
Die unterscheiden sich doch nur, ob das Ergebnis 9 Bit oder 12 Bit
ist.


Peter

Autor: alex111 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau das ist ja das Problem

Wenn ich das Configurations byte nicht neu setzte kommt alles im 12 bit
modus, doch die fertige CAVR routine kann nur 9 byte format, ich
schaffs nicht das ich diese 9 byte auf 12 byte umschreibe bzw. ich
schaffs nicht das ich dem DS18B20 das Conf Byte neu setzte das er in 9
byte sendet !

Grüße, alex

Autor: alex111 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kann mir keiner helfen ?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"kann mir keiner helfen ?"

Dein Hauptproblem scheint zu sein, daß Du Dich nicht damit beschäftigen
willst und dabei kann Dir wirklich keiner helfen.

Wenn ein fertiges Programm nicht das tut, was man will, hilft eben nur
selber verstehen und ändern oder komplett neu schreiben.


Aber wenn Du wirklich nicht weißt, wie man in C einen 12Bit-Wert um 3
Stellen nach rechts schiebt, leg Dir erstmal ein C-Grundlagenbuch zu.


Peter

Autor: alex111 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmm ich programmiere in der schule jetzt schon 2 jahre C, aber ich
verstehe einfach nur die codes ich ich mir selber schreibe, und das C
das wir in der schule lernen, ist einfach nicht praxisorientiert was
mich am meisten nervt

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den Verschiebeoperator sollte man dennoch in jedem C-Lehrgang gelehrt
bekommen.

Zugegeben allerdings, die Bitmanipulation (Verschiebung, bitweises
UND, bitweises ODER, XOR) tritt in ,,höherem'' C selten auf, man
braucht diese Funktionalität vorrangig, wenn man auf Hardware
zugreift, also entweder bei Controllern wie hier, oder beim Schreiben
von Betriebssystemen auf ,,größeren'' Architekturen.  Gewöhnliche
Anwenderprogramme haben damit eher selten was zu tun.

Schau Dir einfach nochmal an, was die Operatoren << >> | & ^ ~ so tun.
Wenn Du das verstanden hast, kannst Du Dir auch noch vergegenwärtigen,
daß C die Anweisung

foo = foo <operator> bar;

im Allgemeinen als

foo <operator>= bar;

kürzer schreiben kann.  Dabei darf <operator> eben nicht nur + - * /
sein, sondern durchaus auch einer der Bitmanipulations-Operatoren.
Damit erklären sich dann auch Dinge wie

foo >>= 3;

oder

IOREG |= (1 << foo);
IOREG &= ~(1 << foo);

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.