Bitgeschiebe

Ich sitze frustriert an meinem Programm, welche alle Lichtschrankenimpulse zählen soll. Zwar sind die Impulse im Programm durchaus vorhanden, diese bewegen sich aber in ganz verschiedenen Wertebereichen. Im Programm bekomme ich den Wert 16 wenn die Lichtschranke blockiert ist. Bei der zweiten bekomme ich den Wert 140 und bei den darauffolgenden beiden 253. „Richtig“ wären nach meinen Überlegungen aber nur 250-255, da der ADC bei voller Spannung 1023 zurückgibt. Übertragen an den Pc wird aber nur ein Byte, also acht Bit, so wird aus 1023 dann 255 (Es werden die beiden höchstwertigen Bits weggelassen). Warum das bei den anderen nicht klappt weiß ich nicht.

 

2 Gedanken zu „Bitgeschiebe

  1. Könnte es sich um ein Streulichtproblem handeln? Hast Du mal ausprobiert, die Lichtschranken irgendwie vom Außenlicht abzuschirmen?
    Welche Bits werden nicht berücksichtigt, die für 512 und 256? 1 und 2 wären sicher die bessere Wahl.

    • Hallo Jan!
      Nein, ich denke nicht, dass Streulicht der Grund für die verschiedenen Werte ist. Wenn ich eine Lichtschranke an den Pin eine anderen anschließe, sind die Ergebnisse von beiden Lichtschranken (fast) identisch. Ich schätze, dass ich irgendwo einen Fehler im Programm habe.
      Zu den Bits: die Daten werden ja über rs232 vom Microcontroller an den Pc übertragen. in meinem Programm bis jetzt aber immer nur ein Byte. So werden die von dir gennanten Bits weggelassen. Das ist aber bis jetzt nur eine Vermutung von mir. ich hoffe, dass das die Erklärung ist, da mir sonst vollkommen unverständlich wäre, warum ich nicht einen Wert zwischen 1015-1023 bekomme.

      Mit rauchendem Kopf
      Lennart

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.