Vorwärtsreferenzen / Bytearray-Pointer / Threading Kategorie: Programmierung (von Michael Zapf - 15.07.2007 20:52) | ||
| ||
Hallo, ich bin gerade an einem (zumindest für mich) recht gro�en Projekt* für den CC2. Dabei habe ich das Programm erst einmal in Java geschrieben (als Prototyp) und auf dem PC simuliert und bin gerade dabei, das Programm mithilfe eines eigens geschriebenen �bersetzers auf C2 zu übertragen. (Dieser ist aber nicht generisch, funktioniert also nur mit Quellcode des Projekts). Ich habe drei Fragen: 1. Was in Java problemlos ist, funktioniert in C2 nicht: Vorwärtsreferenzen. Das hei�t, ich muss alle Symbole erst definieren (z.B. Funktionen), bevor ich sie nutzen kann. Resultat ist, dass ich jetzt alles, was ich in Java in einzelnen Klassen gruppiert hatte, nun komplett in eine Datei reingedrückt habe und eifrig am Sortieren bin (knapp 4000 Zeilen). Gibt es da mittlerweile schon einen Compiler, der Vorwärtsreferenzen oder wenigstens Deklaratoren anbietet (wie in C)? 2. Ich habe ein byte[], in dem eine Liste von Namen steht. Wenn ich einen Namen von dort über die hwcom schicken möchte, bräuchte ich so etwas wie ein hwcom.sendfrom(byte[], start, length). Das gibt es leider nicht. Da dachte ich, man kann Pointerarithmetik betreiben, also hwcom.send(byte[]+pos, length), aber das geht auch nicht. Das einzige, was mir noch einfällt, ist, die Bytes einzeln mit hwcom.put zu schicken oder den fraglichen Namen aus dem byte[] mit mem.copy rauszukopieren und das Zielfeld mit hwcom.send zu schicken. Das ist eigentlich verschwendeter Speicherplatz. Oder geht es anders? 3. (Leicht OT hier) Ich denke darüber nach, für die nächste Umsetzung des Prototypen einen CC-Pro zu verwenden, wobei ich diesen noch nicht genauer kenne, au�er, dass es ein ATMega ist. Kann er Multithreading? Wenn ja, ist das eine Eigenschaft aller Atmel-Controller (auch anderer Controller-Kits), oder gibt es beim CC-Pro so ein "Betriebssystem" wie hier beim CC2? Michael (* Projekt: Generisches Steuerungssystem auf Basis einer spezifischen regelbasierten Programmierung mit Interpreter im CC2; Anschluss mit Live-Abfrage über PC, Up/Download von Regeln über PC während der Laufzeit, LCDisplay und Tastatur zur direkten Kontrolle. Soll hier zur Steuerung der Heizungsanlage und ggf. weiterer Systeme eingesetzt werden) | ||
Antwort schreiben Antworten: Re: Vorwärtsreferenzen / Bytearray-Pointer / Threading (von André H. - 18.07.2007 7:48) Re: Vorwärtsreferenzen / Bytearray-Pointer / Threading (von Michael Zapf - 22.07.2007 13:56) Re: Vorwärtsreferenzen / Bytearray-Pointer / Threading (von André H. - 4.08.2007 10:14) |