Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Technische Informatik » Frage zum Auslesen von Bits » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Frage zum Auslesen von Bits
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
sommer87
Grünschnabel


Dabei seit: 14.09.2006
Beiträge: 5

Frage zum Auslesen von Bits Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hi,

ich hab hier eine C-Control als Prozessorsystem mit Pins, die 10 Bit Signale auslesen können.
Mein angschlossener Sensor liefert jedoch 8 Bit Signale als Rückgabewert.

Kann es da zu irgendwelchen Problemen kommen?
Meine Werte sind zZ noch ziemlich falsch. Ich nehme zwar an, dass es an der Schaltung liegt, aber ich wollte schonmal die Auswertung des Signals ausschließen.

Hab jetzt nicht soviel Ahnung davon, aber ich hätte gesagt, dass dann einfach die letzten zwei Bits auf ´0 bleiben, da sie ja nicht mitgeschickt wurden und es so dann zu keinen Komplikationen kommt.

Oder muss ich da doch erst etwas umrechnen?

Schon mal vielen Dank smile

Gruß,
Benny
25.10.2006 16:21 sommer87 ist offline E-Mail an sommer87 senden Beiträge von sommer87 suchen Nehmen Sie sommer87 in Ihre Freundesliste auf
kurellajunior kurellajunior ist männlich
Support


Dabei seit: 07.09.2006
Beiträge: 42
Herkunft: Von hier

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich weiß nicht genau, was Du meinst, aber wenn Deine Werte um den Faktor 4 differieren sollten, solltest Du überprüfen, ob Du auch das niederwertige Bit an das niederwertige Bit geschlossen hast?

Ich würde nämlich die beiden höchstwertigen Bits des Eingangs auf NULL legen.
25.10.2006 17:48 kurellajunior ist offline E-Mail an kurellajunior senden Beiträge von kurellajunior suchen Nehmen Sie kurellajunior in Ihre Freundesliste auf Fügen Sie kurellajunior in Ihre Kontaktliste ein
sommer87
Grünschnabel


Dabei seit: 14.09.2006
Beiträge: 5

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hi,

wie meinst du das jetzt?
Ich habe nur einen Eingangspin am Board angeschlossen.
Von daher gibt es da ja keinen ersten / letzten.

Der Sensor hat einen GND, einen VCC und einen I/O Anschluss.
Den I/O, also den Signalanschluss habe ich an den AD-Wandler Pin angeschlossen und bekomme dann einen Rückgabewert in Hexadezimalschreibweise: zB 03FD, also binär 1111111101

Mein Sensor gibt aber nach Herstellerangaben ein 8bit Vorzeichen 11111111 also MSB 1 oder 00000000 (MSB 0) und dann den Messwert als 8bit (LSB) zurück. Wäre dann also ein 9bit Gesamtwert nach Datenblatt (sorry. fällt mir gerade auf, hab ich oben falsch gesagt mit dem 8bit).

0 wäre dann also 00000000 00000000 / 0000h
0,5 ist 00000000 00000001 / 0001h
-0,5 ist 11111111 11111111 / FFFFh

Als Ergebniss dürften also entweder 8bit Werte (positiv) oder 16bit Werte (negativ) herauskommen.

03h ist also ein unzulässiges "Vorzeichen", das bei der 10bit Messung rauskam.

Sorry für den ganzen Durcheinander den ich hier schreibe, aber ich weiß nicht, wie ich es besser rüberbringen sollte... unglücklich

Danke für deine Bemühungen smile

Gruß,
Benny
25.10.2006 18:13 sommer87 ist offline E-Mail an sommer87 senden Beiträge von sommer87 suchen Nehmen Sie sommer87 in Ihre Freundesliste auf
kurellajunior kurellajunior ist männlich
Support


Dabei seit: 07.09.2006
Beiträge: 42
Herkunft: Von hier

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ok, erstmal klarstellen.

Du hast also einen seriellen Datenstrom. Der Sensor schickt zwei Byte Daten. Davon ist das erste Byte als Vorzeichen zu interpretieren.

Wie du darauf kommst:
0,5 ist 00000000 00000001 / 0001h
-0,5 ist 11111111 11111111 / FFFFh
Ist mir allerdings schleierhaft verwirrt

00000000 00000001 / 0001h => 1
11111111 11111111 / FFFFh => -1

Landen denn die Bit in einem 10Bit-Register?

Was ist ein C-Control?
25.10.2006 18:42 kurellajunior ist offline E-Mail an kurellajunior senden Beiträge von kurellajunior suchen Nehmen Sie kurellajunior in Ihre Freundesliste auf Fügen Sie kurellajunior in Ihre Kontaktliste ein
sommer87
Grünschnabel


Dabei seit: 14.09.2006
Beiträge: 5

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Die Werte sind 0,5 / -0,5, da es ein Temperatursensor ist, der in 0,5°C Schritten misst, aber das spielt ja erstmal keine Rolle.

Eine C-Control ist ein von Conrad Electronics entwickeltes Microprozessorsystem, bestehend aus einem Prozessor und einem Board, auf dem bereits zugeordnete Ports, Taster, LCD, Tastatur, ... angebracht sind, die dann über BASIC oder CompactC angesprochen werden können.

Neben den analogen Ports, die als Rückgabewert nur 0 / 1 haben kann man einzelne Ports mittels AD-Wandler auf 10bit auslesen.
Die Rückgabewerte empfängt man dann über ein Terminalprogramm oder halt mittels C-Control-Software.
25.10.2006 20:50 sommer87 ist offline E-Mail an sommer87 senden Beiträge von sommer87 suchen Nehmen Sie sommer87 in Ihre Freundesliste auf
kurellajunior kurellajunior ist männlich
Support


Dabei seit: 07.09.2006
Beiträge: 42
Herkunft: Von hier

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von sommer87
Neben den analogen Ports, die als Rückgabewert nur 0 / 1 haben kann man einzelne Ports mittels AD-Wandler auf 10bit auslesen.
Die Rückgabewerte empfängt man dann über ein Terminalprogramm oder halt mittels C-Control-Software.

Du meinst sicher digitale Ports, die nur 0 oder 1 haben?

Du hast also einen analogen Kontakt, bei dem das analoge Eingangssignal (zB von -5V bis 5V) in [latex]2^{10}[/latex] digitale Werte umgewandelt wird?

Wo soll da das Problem liegen? oder erhälst Du digitale Signale?

Ich blick Deine Config nicht. Welches Gerät kann was?

Analoge Signale: fließende Spannung. Die Höhe der Spannung bestimmt die Signalstärke

digitale Signale: in Stufen übermittelbare Signale. meist seriell als Folge von High und low-Zuständen. brauchen min. noch eine Steuerleitung bei der Übertragung.
26.10.2006 11:29 kurellajunior ist offline E-Mail an kurellajunior senden Beiträge von kurellajunior suchen Nehmen Sie kurellajunior in Ihre Freundesliste auf Fügen Sie kurellajunior in Ihre Kontaktliste ein
Brandti Brandti ist männlich
Grünschnabel


Dabei seit: 20.11.2006
Beiträge: 1

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Also ich habe davon zwar nicht wirklich Ahnung, aber wenn ich dich richtig verstanden habe, schickt der Sensor 8 Bit Vorzeichen plus 8 Bit Wert. Das macht meiner Meinung nach 16 Bit, womit der C-Control wahrscheinlich so seine Probleme hat.
Außerdem muss ich kurellajunior natürlich zustimmen, dass man über eine einzelne Leitung keine seriellen digitalen Signale übertragen kann.

Da du aber geschrieben hast, du hättest den I/O-Anschluss an den AD-Wandler-Anschluss angeschlossen, der ja analoge Signale in digitale konvertiert, muss der Sensor auch ein analoges Signal senden.
Bist du sicher, dass die beiden Geräte tatsächlich miteinander kompatibel sind?

PS: Sorry das des ein bisschen spät kommt

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Brandti: 20.11.2006 21:36.

20.11.2006 21:35 Brandti ist offline E-Mail an Brandti senden Beiträge von Brandti suchen Nehmen Sie Brandti in Ihre Freundesliste auf
sommer87
Grünschnabel


Dabei seit: 14.09.2006
Beiträge: 5

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Danke für eure Hilfen.

Eher ich muss mich entschuldigen, dass ich mich solange nicht gemeldet habe...

Hab gerade gestern noch mal nen neuen Sensor zusammengebaut und angeschlossen und es kamen auch exakte werte raus.

Hab zwar ne Durchschnittliche Temperaturabweichung von 2-7°C, aber das wird denke ich eher am Sensor als an der Datenübertragung liegen.
Der alte Sonsor wird einfach einen abgehabt haben und konnte wohl überhauptkeine richtigen Werte senden...

Die Abweichung von der Raumthemperatur werde ich mal genauer betrachten und dann durchs Programmieren ausgleichen.

Danke euch für eure Hilfe und tschuldigung für die Verwirrung, die ich gemacht habe.

Gruß,
Benny
20.11.2006 22:24 sommer87 ist offline E-Mail an sommer87 senden Beiträge von sommer87 suchen Nehmen Sie sommer87 in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Technische Informatik » Frage zum Auslesen von Bits