Forum: Compiler & IDEs Probleme mit Funktionen


von Guido Eichert (Gast)


Angehängte Dateien:

Lesenswert?

Hallo ich habe ein Programm geschrieben was mir einen Wert den ich über
ADC einlese, auf einem LCD-Display ausgeben soll. Die Ausgabe von
irgend welchen Zeichen Funktioniert auch (z.B.Ue=12,3V). Aber sobald
ich die Funktionen ad_wandlung() oder umrechnung() mit reinnehme
erscheint auf meinem Display irgend ein Mist. Was kann das sein? Es
scheint als käme der Kontroller durcheinander.
Vielleicht hat ja einer eine Idee.

Vielen Dank
Gruß Guido

von Joerg Wunsch (Gast)


Lesenswert?

[Kristallkugel leider gerade kaputt...]

Falsche Funktionsprototypen? C-Konventionen über argument promotion
nicht beachtet?  Falsche Datentypen überhaupt?

Bißchen mehr mußt Du schon aus Deinem Projekt zitieren...

von Martin Zunke (Gast)


Lesenswert?

>> ad_wert=ADCL+ADCH*256;

Muß man Register nicht erst mit entspr. Funktionen auslesen ?

Und dann: in Deiner Routine zum Umrechnen des Wertes in seine einzelnen
Stellen: ist der Wert garantiert kleiner 1000? Wenn nicht, landet Dein
char-Wert für das Displayzeichen im Nirvana, wobei das wörtlich zum
nehmen ist, denn irgendwann stehen da im LCD-Controller chinesische und
japanische Schriftzeichen drin...

gruß
mz

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Die Makros inp() und outp() sind nur in antiken AVR-GCC-Versionen
notwendig.

von anja (Gast)


Lesenswert?

ohne das gehts net

von Martin Zunke (Gast)


Lesenswert?

...doch, habe ich gerade geprüft:

DDRA=0xFF;
PORTA=0xFF;

legt PortA auf Ausgang und "1"

Compiler: gcc3.3

mz

von Joerg Wunsch (Gast)


Lesenswert?

Dann hast Du einen hornalten Compiler/Library.

Please update ASAP.

von Joerg Wunsch (Gast)


Lesenswert?

(Sorry, unsere Postings haben sich gekreuzt, Martin, mein Kommentar
bezog sich auf »anja«.)

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.