A/D-Wandlungswert in Umdrehungsgeschwindigkeit

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 28 12 2025  11:06:44      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Oszilloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte

Gehe zu Seite ( Vorherige Seite 1 | 2 )      

Autor
A/D-Wandlungswert in Umdrehungsgeschwindigkeit

    







BID = 567493

langerlause

Gerade angekommen


Beiträge: 8
 

  


Hab den bzw die Fehler gefunden. Es lag an der Ausbgaberoutine ansich. Diese kann nämlich nur Dezimalwerte von 0-255 ausgeben !
Werde nun versuchen die Zahl direkt ohne Ausgabefunktionen aufs Display zu bekommen.

für Euer Bemühen.

MfG

[ Diese Nachricht wurde geändert von: langerlause am 26 Nov 2008 13:17 ]

BID = 568025

Brizz

Stammposter



Beiträge: 386
Wohnort: Rheine

 

  

So wie ich das sehe, liegt es an der Deklaration von "zw".

unsigned char zw;

zw kann Werte von 0 bis 255 annehmen.

Nach dem Befehl zw = 256; steht 0 in zw;
Nach dem Befehl zw = 300; steht 44 in zw;

Je nach Einstellung müsste der Compiler eine entsprechende Warnung ausgeben.

Wenn Du es eilig hast solltest Du den Inhalt von zw einer Variablen vom Typ "unsigned int" zuweisen. Die kann dann Zahlenwerte von 0 bis 65535
fassen. (Vorsicht bei Multiplikationen z.B. 255 * 300 = 76500, d.h. die Variable enthält nach der Multiplikation 10964 siehe oben, statt mit 256 jetzt mit 65536).

Wenn du es nicht so eilig hast, solltest Du den Inhalt von zw auf eine Variable des Typs float zuweisen, Deine Multiplikation mit 1,176 durchführen und das Ergebnis + 0.5 auf eine Variable vom Typ "unsigned int" zuweisen und die Stellen einzeln Ausgeben.

z.B.:

unsigned char zw;
float Produkt;
unsigned int Ergebnis;

Produkt = zw;
Produkt *= 1.17647;
Produkt += 0.5;
Ergebnis = (unsigned int)Produkt;

...
...
usw.

[ Diese Nachricht wurde geändert von: Brizz am 27 Nov 2008 23:06 ]


Vorherige Seite      
Gehe zu Seite ( Vorherige Seite 1 | 2 )
Zurück zur Seite 0 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 17 Beiträge im Durchschnitt pro Tag       heute wurden bisher 1 Beiträge verfasst
© x sparkkelsputz        Besucher : 187987108   Heute : 6325    Gestern : 11123    Online : 241        28.12.2025    11:06
6 Besucher in den letzten 60 Sekunden        alle 10.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0192718505859