Warum sollte man Bits nicht mit "(0<<PB1)" löschen?

Gast #1834423
Lesenswert?

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?
Gast #1834440
Lesenswert?

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.
Gast #1834472
Lesenswert?

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.
Gast #1834483
Lesenswert?

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.
Gast #1834535
Lesenswert?

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);
#1835847
Lesenswert?

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
#1835936
Lesenswert?

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
Gast #1835967
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren