Forum: Mikrocontroller und Digitale Elektronik float Zahlen an Zähler übergeben


von Thomas (Gast)


Lesenswert?

was passiert eigentlich hier:

TCNT1=345.64332221;

oder

OCR1A=9387.3545446554;

werden da die werte gerundet? auf oder ab gerundet? oder was passiert 
damit?

von Karl H. (kbuchegg)


Lesenswert?

Thomas wrote:
> was passiert eigentlich hier:
>
> TCNT1=345.64332221;
>
> oder
>
> OCR1A=9387.3545446554;
>
> werden da die werte gerundet? auf oder ab gerundet? oder was passiert
> damit?


Das was in C immer passiert, wenn man einen Gleitkommatyp
an eine Ganzzahl-Variable (und aus Sicht des C Compilers
ist das nichts anderes) zuweist: Der Nachkommanteil wird
einfach abgeschnitten.

von crazy horse (Gast)


Lesenswert?

Quatsch.
Hast du noch nichts von den Schattenregistern gehört? Da kommt der 
Nachkommateil hin. Hat allerdings einen Nachteil - write only. Ansonsten 
sehr  nützlich.

von Pieter (Gast)


Lesenswert?

moin moin,

@crazy horse
Du meinst das doch sicher so:
TCNT1=345;
TCNT1'=64332221;

oder
OCR1A=9387;
OCR1A'=3545446554;

so etwas gab es früher beim Z80 ja auch...

mfg Pieter

von Thomas (Gast)


Lesenswert?

ich weise diese werte aber dynamisch zu! d.h. compiler kann das noch 
nicht wissen! funktioniert trotzdem oder?

von Falk B. (falk)


Lesenswert?

@ Thomas (Gast)

>ich weise diese werte aber dynamisch zu! d.h. compiler kann das noch
>nicht wissen! funktioniert trotzdem oder?

Ja, ber es ist relativ unsinnig. Zähler zählen nun mal nur wie Integer. 
Was soll denn das werden?

MFG
Falk

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
Noch kein Account? Hier anmelden.