Hallo zusammen,
der folgende Codeschnipsel stammt aus der Frequenzaufbereitung eines
Amateurfunkgerätes, das ich gerade baue. Verwaltet werden damit einzelne
virtuelle Oszillatoren, deren Frequenz dann jeweils in ein DDS
eingelesen wird.
1 | void show_vfo(int vfo_num)
|
2 | {
|
3 | char *vfo_str = "VFO ";
|
4 |
|
5 | *(vfo_str + 4) = vfo_num + 65;
|
6 | lcd_put_string(x0 + 2, y0 + 2, vfo_str, 1, DARKBROWN, LIGHTGREEN);
|
7 | }
|
Angezeigt werden soll ein String "VFO X", wobei der Buchstabe X durch
einen beliebigen Buchstaben ersetzt werden soll. Also "VFO A", "VFO B"
etc. etc. Die übergebenen Zahlenwerte in vfo_num reichen von 0 bis 12.
Analog dazu soll der Kennbuchstabe des Frequenzspeichers auf der 5.
Stelle des String landen.
Wenn ich den Code in meinem alten "Turbo C"-Compiler teste, funktioniert
es. Beim GCC für AVR (WINAVR 20100110) aber nicht. Das Ganze als Array
ginge zwar auch, will ich aber nicht. Den Buchstaben separat hinter
"VFO" schreiben wäre auch eine Alternative, aber ich will wissen, warum
das hier nicht tut.
Ich stehe gerade mal heftig auf dem Schlauch. Hilft mir jemand runter?
;-)
Viele Grüße
Peter
(DK7IH)