hi leuts ich möchte daten mit einen clock bitweise über einen port einlesen und sie anschließend in einen integer schieben. if (P1.0 & 0x01) //es wir nur ein bit angesprochen { a = a + 1; a = a << 1; } else { a = a + 0; schieberegister = schieberegister << 1; } könnte das so funzen mfg
Warum probierst du es nicht aus? ABER, wenn du schon P1.0 machst (geht das überhaupt?) dann brauchst du ja nicht mehr "& 0x01" machen, weil du mit P1.0 schon das erste Bit ansprichst. Ich würde es bei meinem Atmel so machen
1 | int ein_wert=0; |
2 | char i; |
3 | |
4 | for(i = 0; i < 16; i++){ //<<Ok das würde jetzt nicht der Clock sein |
5 | if(PORTA & 0x01) |
6 | ein_wert |= 0x01; |
7 | ein_wert <<= 1; |
8 | }
|
Hallo hansi, warum mal 'a' und mal 'schieberegister'? Ansonsten klappts, wenn'(P1.0 & 0x01)' von deinem Compiler richtig umgesetzt wird, bzw. richtig definiert wurde! Grüße
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.