Hi leute ich hab da mal ne frage. also erst mal im Groben, ich habe einen ATmega16 einen Laderegler eine Solar anlage und eine 6 Stellige 7-Segment-Anzeige (multiplex) Ich frage den Laderegler mit hilfe von RS232 ab, in dem ich ihm 46hex sende. Der Laderegler antwortett mir auch gleich darauf. Die Strucktur sieht ungefähr so aus. R 1 3 , 3 5 | 4 , 6 <- Jede zeichen ist ein Eigenes Byte. Diese 10 Byte Packe ich mir in den stack.. soweit bis da kein Problem. Jetzt weiß ich nciht so richtig wie ich am schlauesten vorgehe. Die beiten werte also 13,35 volt und 4,6 Ampere müssen wieder aus dem Stack und miteinander multipliziert werden (damit ich die leistung in Watt habe). Um den Wert dann an die Anzeige weiter zugeben muss der wert aber dann wieder in 6 Byte aufgeteilt werden. wie würdet Ihr vorgehen.. Danke für eure Tips schöne Grüße
ATmega16 ist dick genug, deshalb atoi und itoa, dann Zeichenweise pulen...
wie darf ich das verstehn? erst die Daten aus dem Stack in Register schreiben, denn diese Register decementieren und dann 3 Register (24bit) hochzählen lassen? dann das ganze multiplizieren und alles wieder rückwärts? so hatte ich mir das auch vorgestellt. hatte aber die Hoffnung das es einfacher geht.
Ich meinte 'dick genug für C', da gibts für sowas fertige Funktionen. Deine Zeichenkette dann halt in einem Puffer halten.
> Diese 10 Byte Packe ich mir in den stack
ich würde sie in einem array speichern
schreibe ein funktion DisplayWatt(zeichen, position), die dir das
entsprechende zeichen an der entsprechenden position auf dem display
anzeigt
und dann in einem loop:
WattWert = (array[1]*100 + array[2]*10 +..)*(...); //oder so ähnlich
DisplayWatt(WattWert/100, 1);
wait_some_ms;
WattWert %= 100;
DisplayWatt(WattWert/10, 2);
wait_some_ms;
WattWert %= 10;
DisplayWatt(WattWert, 3);
wait_some_ms;
ist zwar nicht sonderlich schön und schnell, aber funktioniert. (ich
hoffe, ich habe in der eile keinen tipp/denk-fehler gemacht)
Darf ich mal dumm fragen wie du die 7-Segment Anzeige ansteuerst? Manuell vom µC aus oder mit einem fertige IC? Gruß Anselm
hi danke schon mal für die Tips. also ich hab noch nichts mit AVR und C gemacht bis jetzt ist das Progrramm in ASM. also ich steuer die anzeige über n IC an also ein 4511 (bitte schlagt mich nicht dafür aber ich brauche jeden Pin an diesem Controller)
so =) habe heute mein Ganzes Programm von ASM in C umgeschrieben. Meiner Meinung noch ist C weitaus einfacher so mal ich in viel PHP programmiere. Strucktur ist teilweise leicht gewöhnungsbedürftig aber im ganzen Danke schon mal
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.