Der Betreff sagt eigentlich alles. Ich habe bisher in Assembler programmiert und will nun auch C lernen. Also arbeite ich das GCC-Tutorial durch und habe mich natürlich gefragt, ob man Bits nicht auch mit "(0<<PB1)" löschen kann. Folglich habe ich das natürlich ausprobiert und es hat wunderbar funktioniert. (AVR-Studio mit WIN-AVR) Also warum wird das nirgendwo erwähnt? Ist das gegen irgendeine Spezifikation von C?
Eine 0 bleibt immer eine 0, egal wie oft und wie weit du sie schiebst. Zeig mal den kompletten Befehl, den du verwendest. Ich schätze, du löscht immer das komplette Byte. Gruß XXX
tset5 schrieb: > Der Betreff sagt eigentlich alles. Weil du 0 um beliebig viele Stellen nach links verschieben kannst, das Ergebnis ist trotzdem immer noch 0
tset5 schrieb: > habe mich natürlich gefragt, ob man Bits nicht > auch mit "(0<<PB1)" löschen kann. Bittschö der Herr, löschns dann jetzt die andern Bits. Ach, hams scho? Dös wollt I garnet. Erst wo wenn I sag, sollns die löschn!
tset5 schrieb: > auch mit "(0<<PB1)" löschen kann. Folglich habe ich das natürlich > ausprobiert und es hat wunderbar funktioniert. Irrtum. Du hast maximal das komplette Register auf 0 gesetzt, aber nicht ein einzelnes Bit
Stimmt, war nur ne testschaltung, bei der ich auch nur ein Bit brauchte, also hab ich das nicht gleich bemerkt... Hätte mich auch irgendwie gewundert, warum das so einfach gehen sollte und gleichzeitig nirgendwo erwähnt wird... Danke für die Info, darauf bin ich irgendwie nicht gekommen.
tset5 schrieb: > Danke für die Info, darauf bin ich irgendwie nicht gekommen. Naja. Nicht so schlimm. Hätte ja auch ein Fehler in der C-Spezifikation sein können, nicht wahr? ;-)
dieses Forum ist wohl nur zum Ingenieur-Gehälter-Trollen gut? Da stellt einer ne ordentliche Frage und man kommt ihm gleich mit der C-Spec. Soll ja auch Hobby-Anwender geben, oder Anfänger, oder welche, die nur nicht auf die Idee kommen, in so ne blöde Spec. zu sehen.
mitleser schrieb: > dieses Forum ist wohl nur zum Ingenieur-Gehälter-Trollen gut? Da stellt > einer ne ordentliche Frage und man kommt ihm gleich mit der C-Spec. Soll > ja auch Hobby-Anwender geben, oder Anfänger, oder welche, die nur nicht > auf die Idee kommen, in so ne blöde Spec. zu sehen. Ich nehme die Bemerkung mit Bedauern zurück, verweise aber zusätzlich auf das Emoticon.
Macht aber Sinn zu Dokumentationszwecken wenn man zeigen will, welche Bits man nicht setzt (nicht setzen ist was anderes als löschen!)
1 | ADCSRA = /* ADC Control and Status Register A */ |
2 | (1 << ADEN) /* ADC Enable */ |
3 | | (1 << ADSC) /* ADC Start Conversion */ |
4 | | (1 << ADIE) /* ADC Interrupt Enable */ |
5 | /* ADPS2...ADPS0 ADC Prescaler Select Bits = 1 0 0,
|
6 | * Bei 1MHz, Faktor 16 = 62,5kHz, 16us */
|
7 | | (1<< ADPS2) |
8 | | (0<< ADPS1) |
9 | | (0<< ADPS0) |
10 | ;
|
oder wenn das Bit variabel ist
1 | ADMUX = /* ADC Multiplexer Select Register */ |
2 | /* REFS1...REFS0 (ReferenceSelection Bits) = 0 --> Externes AREF */
|
3 | /* MUX4...MUX0 = 6 + (bool)adc_channel*/
|
4 | (1 << MUX2) | (1 << MUX1) | (adc_channel << MUX0); |
mitleser schrieb: > dieses Forum ist wohl nur zum Ingenieur-Gehälter-Trollen gut? Da stellt > einer ne ordentliche Frage und man kommt ihm gleich mit der C-Spec. Soll > ja auch Hobby-Anwender geben, oder Anfänger, oder welche, die nur nicht > auf die Idee kommen, in so ne blöde Spec. zu sehen. Du sprichst mir von der Seele: Es gibt leider nur wenige, die vernünftig antworten. Wenn man alles in der Literatur nachlesen kann (was durchaus geht), braucht man eigentlich dieses Forum nicht mehr. Ich poste ja exakt in diesem Forum, weil ich entweder nicht weiß, wo ich suchen soll oder weil ich etwas nicht verstanden habe. Vom Leitsatz " ... es gibt keine dummen Fragen ..." sind die meisten Forumsteilnehmer hier weit entfernt. Die Antworten, die vorab hier gegeben worden sind, sind zwar meist richtig, kann man nur verstehen, wenn man kein Anfänger ist. Alle wenig hilfreich. Glaube nicht, dass tset5 seine Frage zufriedenstellend (einfach) beantwortet findet. Grüße
John Schmitz schrieb: > Vom Leitsatz " ... es gibt keine dummen Fragen ..." sind die meisten > Forumsteilnehmer hier weit entfernt. Dieser "Leitsatz" ist kompletter Schwachfug. Natürlich gibt es dumme Fragen. Beachte aber bitte, dass sich meine Antwort lediglich auf Deine allgemeine Aussage bezieht - nicht auf die Frage von tset5 ;-) Gruß, Frank
Frank M. schrieb: > John Schmitz schrieb: > >> Vom Leitsatz " ... es gibt keine dummen Fragen ..." sind die meisten >> Forumsteilnehmer hier weit entfernt. > > Dieser "Leitsatz" ist kompletter Schwachfug. Natürlich gibt es dumme > Fragen. > > Beachte aber bitte, dass sich meine Antwort lediglich auf Deine > allgemeine Aussage bezieht - nicht auf die Frage von tset5 ;-) > > Gruß, > > Frank http://de.wikipedia.org/wiki/Benutzer:Schwachfug
John Schmitz schrieb: > Vom Leitsatz " ... es gibt keine dummen Fragen ..." Du vergisst die Tatsache, dass dieser Leitsatz nur für Kinder gilt! Manche Erwachsene bekommen dann halt nicht mit, dass von ihnen erwartet wird, dass sie sich weiter entwickeln. Denn als Erwachsener Mensch kann man sehr wohl dumme Fragen stellen, und dann auch dumme antworten bekommen.
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.