Philipp schrieb:
> okay also ich würde es auch vorziehen lieber etwas zu investieren das
> ich es auch länger verwenden kann. d.h. man kann einen mircocontroller
> in verschieden programmiersprachen programmieren?
Ja und nein.
Die Leib und Magensprache deines µC ist Maschinensprache. Ds sind im
Grunde nur eine Abfolge von Zahlen, wobei jede Zahl irgendeine Bedeutung
hat. Zb. (Hausnummer) 128 63
wobei 128 für den µC der Befehl ist, das Register r18 zum Register R17
zu addieren und 64 die Zahl sein könnte, die dem µC sagt, dass er vom
Register R19 das Register R20 abziehen soll. (Register sind 8-Bit
Speicher im µC auf die der Prozessor schnell zugreifen kann. Sowas wie
Arbeitsnotizzettel des µC. Die AVR haben 32 Stück davon)
Nun kann man jeder Zahl eine bestimmtes, sich leicht zu merkendes Kürzel
zuordnen.
ADD r17, r18
SUB r19, r20
ist nun mal leichter zu merken als 128 63, obwohl beide dasselbe
aussagen.
Damit ist man bei Assembler angelangt.
Man programmiert im Grunde immer noch in Maschinensprache, hat aber eine
winzig kleine 'Komfortschicht' darübergelegt. Ein einfaches
Übersetzungsprogramm ersetzt ADD R17, R18 wieder durch 128, etc. Dadurch
hat man erstens erreicht, dass es lesbarer ist und dass man sich
zweitens nicht derartig viele Codezahlen merken muss. zb Könnte der
Befehl für Addiere r19 zu r18 die Codezahl 157 haben. Das müsste man
sich merken. Im Assembler brauch ich aber nur schreiben
ADD r18, r19
und das Übersetzungsprogramm sucht den richtigen Code heraus.
Jetzt kann man auch das Ganze aber auch weiter treiben. In einem
Programm tauchen immer wieder gleichartige Strukturen auf. Man kann sich
nun einen Übersetzer bauen, der solche gleichartige Strukturen erkennen
kann und sie in Maschinensprache übersetzt. Dabei kann einem dieser
Übersetzer im gleichen Aufwasch auch noch von lästigen Routineaufgaben,
die man als Assemblerprogrammierer hat, befreien (zb. das man die
begrenzte Anzahl an Register verwalten muss).
Tja. Und natürlich gibt es jetzt mehrere Vorstellungen davon, wie so
eine Sprache aussehen könnte. Dementsprechend gibt es viele verschiedene
Programmiersprachen. Solange es für eine Programmiersprache einen
Übersetzer gibt, der diese Sprache in die Maschinensprache des
Prozessors (also die Abfolge von Befehlen in Form von Zahlen) übersetzt,
kannst du deinen µC mit dieser Sprache programmieren.
> weil bascom ist ja eig
> freebasic die befehle die ich bis jz gesehen hab sind alle gleich.
Na, ja. In BASCOM sind schon einige Besonderheiten eingebaut, die auf
einem AVR Sinn ergeben und die es so wahrscheinlich in FreeBasic nicht
geben wird.