usart c18 compiler

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: 07 10 2024  10:18:59      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


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

Gehe zu Seite ( Vorherige Seite 1 | 2 )      


Autor
usart c18 compiler

    







BID = 625164

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach
 

  


Was soll das Semikolon innerhalb des Formatstrings (direkt nach %f) eigentlich bewirken ?

Zitat :
fprintf (_H_USART, "Temp_Value: %f; \n", temp); // Temperatur lesen

BID = 625211

sacha.co

Gerade angekommen


Beiträge: 9
Wohnort: Gießen

 

  

Hallo Perl

Zitat :

Was soll das Semikolon innerhalb des Formatstrings (direkt nach %f) eigentlich bewirken ?

Eigentlich nur die Darstellung verschönen

zB. Temp: 23.25; statt Temp: 23.25

Gruß
Sascha

BID = 625405

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Ich habe kürzlich gelesen, dass printf (und Varianten) der C18-Toolchain keine Gleitkommazahlen im Formatstring verarbeiten können!

Du musst es also zu Fuß machen, daran führt kein Weg vorbei.

_________________

BID = 625480

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach

Dann wundert es mich, dass der Compiler keine Fehlermeldung macht.
Oder liest sacha.co die nur nicht?


Besser wäre es wahrscheinlich aber, sich ein paar Gedanken um den zu erwartenen Wertebereich zu machen und auf die Gleitkommaarithmetik ganz zu verzichten.
Dann ist auf einmal auch wieder Platz im Speicher.

BID = 625490

sacha.co

Gerade angekommen


Beiträge: 9
Wohnort: Gießen

Ich hatte es auch gelesen bevor ich mein Problem hier gepostet habe.
Ich wollte nur wissen , ob man dieses Problem umgehen konnte.
Jetzt weisst ich , dass man damit leben muss . Ich danke für
eure Tipps.
hier meine erste Post

Zitat :

Danke erst mal !ich habe gerade gemerkt , dass meine Post überhaupt nicht verständlich ist . Ich möchte gern ein float zahl über USART lesen ( Hyper Terminal ). Diese Zahl lässt sich nacher im Hyper Terminal als ASCII Zahl darstellen . Mein C 18 Compiler macht scheinbar die Konvertierung nicht ( Float nach ASCII) . Ich frage mich , wie ich das Problem umgehen könnte. Hier ist meine aktuelle code , die allerdings nicht funktiniert.


Gruß
Sascha

BID = 625515

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

@perl:
Ja, das sprach ich einige Posts oben schon an, dass Gleitkommazahlen oft völlig falsch eingesetzt werden. Der eine ärgert sich, dass die Geschwindigkeit flöten geht (ohne entspr. Hardware) und die Kodegröße sich aufbläht (wenn er es denn überhaupt merkt...) während der andere sich darüber wundert, dass seine Rechnungen gewissen Ungenauigkeiten unterliegen.

Deshalb sollte man sich überlegen, wie man der Lage Herr werden könnte.

Wenn ich eine Rechnung wie

x = a * 0.002f;

Durchführen lassen will, kann ich genausogut auch

x = a * 2;

rechnen lassen, und das Komma entsprechend drei Stellen nach vorne setzen, bei der Ausgabe. Das spart enorm Ressourcen, solange die Wertebereiche (gegeben durch Bitbreite und evtl. Vorzeichenbit) im Rahmen bleiben.
Alternativ müsste man sich entsprechende Datentypen selber bauen. Nur, um damit sinnvoll rechnen zu können, muss man alle zu benutzenden Operatoren als Funktion implementieren oder wie in C++ üblich für den Datentypen überladen. C++ wäre übertrieben, die Implementation dieser Funktionen jedoch machbar .


_________________


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 20 Beiträge im Durchschnitt pro Tag       heute wurden bisher 5 Beiträge verfasst
© x sparkkelsputz        Besucher : 182138452   Heute : 1337    Gestern : 5489    Online : 534        7.10.2024    10:18
7 Besucher in den letzten 60 Sekunden        alle 8.57 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0416131019592