-         
+ Antworten
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Programmierung in C

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    09.02.2004
    Beiträge
    21

    Programmierung in C

    Hallo zusammen,

    ich habe heute meinen Robby bekommen und würde ihn gerne in C programmieren. Leider habe ich weder hier im Forum noch in den FAQ einen Hinweis darauf gefunden. Ich bin allerdings auch ein Neuling im Bezug auf Microcontroller und habe vielleicht auch die falschen Begriffe gesucht.

    Für ein paar Tips wäre ich dankbar.

    Gruß

    Sascha

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.01.2004
    Beiträge
    2.441
    Soweit ich weiss kann man Robby nur in Basic programmieren.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    13.01.2004
    Ort
    Speyer
    Alter
    41
    Beiträge
    28
    Oder mußt Dir einen Controller ohne Basic kaufen, diesen kannst Du dann frei Programmieren .

    Der Austausch vom Controller auf dem Board ist kein Problem, habe es schon mehrfach auf dem Controllerboard durchgeführt(noch nicht auf bei einem CCRP5).
    Ist dann halt mit der Programmierung natürlich einiges umfangreicher als den Controller in Basic zu Programmieren.


    Krischan100

  4. #4
    Oder die Erweiterungsplatine und ne C-Control II kaufen. Geht zwar etwas ins Geld, aber die Programmierung ist doch wesentlich angenehmer

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    07.01.2004
    Ort
    München
    Alter
    66
    Beiträge
    214
    Die CC1 ist beim Robby nicht gesockelt - da würde ich als Anfänger nicht mit dem Lötkolben rangehen! Sonst wär ein Tausch schon interessant.
    Die CC2 wird meines Wissens nicht in C programmiert, sondern in "C2". Aber immerhin!

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    09.02.2004
    Beiträge
    21
    Soweit ich weiss kann man Robby nur in Basic programmieren.

    Schade eigentlich.

    Kann mir eigentlich jemand den Sinn erklären einen Basic Interpreter für einen Microcontroller zu entwickeln? Wäre es nicht flexibler gewesen einen Compiler zu entwicklen der Basic compiliert?

    Gruß

    Sascha

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    07.01.2004
    Ort
    München
    Alter
    66
    Beiträge
    214
    Einen MC wie die CC1 in Basic zu programmieren, ist nicht ganz blöd; vor allem, weils die die Alternative "Basic compilieren und dann als Maschinencode laufen lassen" in dieser Form bei der CC1 gar nicht gibt:

    1. Die CC1 hat zwar "viel" ROM (so um die 6KB), aber da kann man ja nix reinladen. Drum ist da die CBASIC Runtime drin.
    2. Die CC1 hat nur wenig EEPROM in der CPU (256 B); da kann man zwar bisschen was reinladen, aber kaum ein "sinnvolles" Programm. Drum werden da bei Bedarf nur Assembler Hilfsroutinen geladen.
    3. An die CC1 kann man aber ganz leicht ein EEPROM anschliessen (über I2C bus), aber da kann man nur BIT-SERIELL zugreifen - na ja: die CC1 hat ja auch keinen "Adress-Bus" wie eine "richtige" CPU (ist halt ein MC, kein PC). In diesem EEPROM kann die CPU deshalb keine Programme ausführen. Drum werden da die CBASIC tokens reingeladen, und die CBASIC runtime, die im CPU ROM läuft, liest diese token dann bei Bedarf raus und führt sie aus.

    Also: viel Alternativen gibts eh nicht, um ein Programm in Maschinencode direkt auf der CC1 auszuführen.

    Und: Direkter Maschinencode im Gegensatz zu Interpreter für "tokens" (CBASIC) oder "PCODE" (Pascal) oder "virtuelle Op-Codes" (Java VM) ist sowieso mehr eine Philosophie-Frage als ein Performance-Problem: "gute" Interpreter sind ähnlich schnell wie Maschinencode, und "gute" runtime ist ähnlich kompakt wie Interpreter.
    Aber Interpreter-Sprachen haben einige Vorteile "per Konstruktion": leichter zu lernen, schneller zu programmieren, wartungsfreundlicher, weniger fehleranfällig und liefern auf jeden Fall "mehr Leistung pro Op-Code".

    Trotzdem ist CBASIC um Dimensionen (!) langsamer als Maschinencode. Aber das liegt vermutlich ganz stark daran, dass ja jedes Byte eines Tokens einzeln und bit-weise über den I2C - Bus aus dem EEPROM gelesen werden muss, bevor es verarbeitet werden kann. Und für jedes einzelne Byte werden dabei schon einige CPU-Zyklen verbraten...

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    09.02.2004
    Beiträge
    21
    Danke für die Informationen.

    Nun ja wenn es schon nicht direkt in C geht werde ich wohl mal C3C ausprobieren. Auch wenn der C Code danach in Basic token umgewandelt wird so kann ich mein Programm doch besser strukturieren als unter Basic direkt. Hat schon jemand Erfahrungen damit gemacht? Gibt es Einschränkungen? Gibt es schon fertige Programme? Nutzt es überhaupt jemand?

    Gruß

    Sascha

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.11.2003
    Ort
    Schöneiche b. Berlin
    Alter
    60
    Beiträge
    398
    Nein
    MfG
    janpeter

  10. #10
    Gast
    Kann mir eigentlich jemand den Sinn erklären einen Basic Interpreter für einen Microcontroller zu entwickeln?
    Es gibt offensichtlich eine Menge Leute die sowas kaufen und damit ist der Sinn für denjenigen der es entwickelt und vertreibt dann schon erfüllt

+ Antworten
Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •