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
Schreib dich einfach mal wo Dein Problem ist. Die unterscheiden sich doch nur, ob das Ergebnis 9 Bit oder 12 Bit ist. Peter
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
"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
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
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);
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.