hallo ich lese von meinem ad-wandler einen 16bit wert und schreibe den ihn eine int variable. nun möchte ich diesen wert in die dazu analogen spannungswerte umrechnen. wie mache ich das am besten ohne float variablen? momentan verwende ich folgenden algorythmus: Uein=(Uref/2^n)*wandlerergebniss wobei n = 16 das funktioniert aber nicht da ich das wandler ergebniss in eine int variable schreibe damit ich << rechtsshiften kann. das funktioniert dann aber bei einer float nicht mehr. und wenn ich int/float rechne ist das ergebniss wieder int. hatt jemand eine idee wie ich das machen könnte? gruss tobias
Wenn schon Int dann long oder ulong und mit der gerundeten Konstanten von 1/(Vref / 2^n) multiplizieren (das Addieren von Samples kann multiplizieren erleichtern bis überflussig machen ). Die Kommastellen must du dann aber selber rausfinden. Es solte aber normalerweise kein Problem sein Int zu Float umzuwandel (welchen Compiler verwendest du ?). Gruß Bernhard
ich habe es einmal mit ulong gemacht. da habe ich ein bisschen speicher gespart. c-compiler von wickenhäuser gruss tobias
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.