PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welche Programmiersprache soll ich lernen???



Mehto
10.02.2005, 17:29
Hallo,

ich fange auch gerade mit Mikrocontrollern an.
Habe mir schon den Bausatz von myavr.de gekauft und aufgebaut.

Jetzt stehe ich nur vor einem Problem: Welche Programmiersprache soll ich verwenden. Bis jetzt habe ich mich mit Assembler rumgeschlagen, aber einen richtigen einstieg finde ich nicht, auserdem finde ich es ein bischen verwirrend das es für fast jeden controller ander Befehlssätze gibt.

Was soll ich denn jetzt Lernen?

Assembler wäre glaube ich nicht schlecht wenn man das Beherschen würde.

Bei C habe ich leider keie Ahnung wie das ist denke finde dort aber einen besseren einstieg als bei Assembler da ich schon PHP einiger maßen kann.

Basic??? da habe ich leider überhaupt keine Ahnung.

Gibt es noch bessere Programmiersprachen für Mikrocontroller?


Gruß,
Sven

coldfirev3
10.02.2005, 17:44
Also mit Assembler hast du alles im Griff, wirst aber wenig Teilnehmer finden.
Assembler ist DIE Sprache schlechthin und kann mehr als jede andere aus deinem Rechner rausholen, allerdings ist der Denkaufwand größer und das Programm kann nicht portiert werden.

Mit C/C++ gehst du den besten Kompromiss ein, einerseits ist das compilierte Programm am nächsten an der puren Programmierung, andererseits findest du mehr Hilfestellung und Lösungen.

Wenn du ernsthaft und nicht nur für Bastelzwecke etwas erreichen willst, vergiss Basic, das ist eine Spielzeugsprache welche dir nicht wirklichen Nutzen bringt.
Mittlerweile gibt es zwar diverse Mutationen der Sprachen, bei denen in der Syntax keine klaren Grenzen mehr gezogen werden können, aber Basic ist für blutige Laien und denkfaule Gelegenheits-Knopfdrücker.

10.02.2005, 20:26
da muss ich schon etwas wiedersprechen... nur weil es zu schnelem erfolg führt muss BASIC ja nicht gleich für denkfaule sein... es kommt einfach darauf an was man machen will... BASCOM ist schon OK wenn man anfängt
schau mal unter www.rowalt.de
ansonsten kann ich dir nur das Lehrbuch zum myAVR empfehlen da wir Assembler, C und BASCOM abgehandelt... einstieg ausführlich in Assembler und dann darauf aufbauend C und BASCOM

gruß Jahn

JanB
11.02.2005, 06:55
Hallo,
Ist auch meine Meinung,
BASCOM ist schon ganz Okay für den EInstieg.
Weil es relativ einfach ist, kommt man schnell zur Sache,
und hat auch Erfolgserlebnisse.
Das ganze soll ja auch Spaß machen, oder ?
Im Laufe der Zeit kann man dann auch einzelne Assembler-Teile
in Bascom einbinden, und so auch dort den Einstieg finden.

Ich finde, man sollte das mit den Programmiersprachen
nicht so dogmatisch sehen.
Entscheident ist doch, was man draus macht.
Lieber eine einfache Sprache gut beherrschen,
und dann gute Ideen damit sauber umsetzen,
als immer in der jeweils neuesten und tollsten Sprache nicht
über die Lehrbuchbeispiele hinauszukommen.

So eine Prog.Sprache ist doch kein Selbstzweck, sondern ein Werkzeug.
Wichtig ist doch was jemand damit macht, und was dabei herauskommt,
und nicht, mit welchem Werkzeug er das macht.

Klar kann man mit C++ oder sonstwas,
einen AVR-Mega64 dazu bringen eine LED blinken zu lassen.
Und man kann auch mit 'nem Tieflader morgens zum Brötchenholen fahren.


Finde ich.

Gruß Jan

Manf
11.02.2005, 07:39
Ich schließe mich den drei Vorrednern an.
Für mich sieht es so aus, daß bei C++ der erste Schritt die Formulierung der Aufgabe (Anforderung) ist, bei Basic ist es die Formulierung der Lösung.
Bei unterschiedlicher Komplexität der Aufgabe eben.
Manfred

pebisoft
11.02.2005, 07:50
hallo, ich bin ein bascom-fan. ich habe auf meinem robby folgende bauteile die präzise miteinander auskommen müssen :
- sharpsensor
- ir-sendediode
- tsop1736
- ultra sr-04 (puls)
- ultra srf-08 (i2c)
- eeprom i2c 24c256
- relaisplatine 8-fach
- kompassmodul cmp..
- lcd-display
- software rs232 mit avr
- motorsteuerung pwm
- abstandssensoren i...

in bascom ist das erste sahne, wie das alles harmoniert.
in win-avr-c konnte keiner dieses paket lösbar herstellen.
habe mehrmals versucht, aber alle blieben schon bei der ansteuerung
des lcd-display stecken, wo rüber man in bascom eigentlich garnicht mehr drüber spricht. mir ging es darum die bauteile zu programmieren und deren funktionsweise kennenzulernen und das habe ich mit bascom.
natürlich werde ich jetzt assembler lernen, wie ja der avr-video-chip zeigt geht es ohne nicht. dieses assembler binde ich dann in bascom ein.
mfg pebisoft

Mehto
11.02.2005, 12:03
Hallo,
vielen Dank für eure Antworten.

Ich denke das ich jetzt erstmal mit Assembler Anfange und schaue wie weit ich komme.

Sollte es mir dann doch mal zu unübersichtlich werden werde ich mir mal C und Bascom näher anschauen.

Habe jetzt nämlich eine gute einführung in Assembler gefunden.

http://www.elektronik-projekt.de/include.php?path=content/articles.php&contentid=74&PHPKITSID=2d553d9cc5912fd60aa11c792731b485

oder direkt:
http://www.elektronik-projekt.de/content/download/assembler%20ab%200%20und%201.pdf


Das MYAVR Handbuch würde mich echt Interessieren, leider ist es mit 50 Euro für mich zu teuer.

Gruß,
Sven

11.02.2005, 12:24
Ich denke das ich jetzt erstmal mit Assembler Anfange und schaue wie weit ich komme.
Gute Wahl! Man lernt viel über die interne Struktur des Mikrocontrollers.
Wenn Du dann später C (geht sicher auch mit BASCOM?) lernst kannst dann nämlich dem Compiler auf die Finger schauen wie er deinen C-Code nach Assembler übersetzt (.lst-File) und so Performance-und Speicherfressenden Code schneller finden und optimieren.

Und fallst noch ein ASM-Tutorial brauchst:
http://www.mikrocontroller.net/tutorial/

Ach ja, das wichtigste beim Assemblerkampf ist
1. Beherrschung von (Fach)englisch
2. Datenblatt des (in deinem Fall) ATmega8 (gibts bei Atmel)
3. Atmel-Befehlscode-Beschreibungs-PDF
aber das ist ja alles in obigem Tutorial erklärt ;-)

muraad
11.02.2005, 12:34
Pepisoft irgendwie muss ich dir wiedersprechen. Alle Aktoren und Sensoren die du hasst sind fast standart und es haben sicher schon hunderte Leute mit WinAVR zum laufen gebracht. Das wäre ja auch traurig wenn noch nie einer mit WinAVR ein LCD angesteuert hätte 8-[
Ach und Pepisoft wenn du immer noch willst schick dir was für WinAVR für
I2C, für PWM, für A/D Convering. Wobei zu alldem auch Beispiel in C auf dieser Seite findest www.mc-project.de (Hier gibts sogar PI-Regler in C). LCD ansteuerung und mehr gibts hier http://homepage.sunrise.ch/mysunrise/peterfleury/avr-software.html#libs
Gruß Muraad

Thorsten
11.02.2005, 12:57
@pepisoft
Bei der Liste oben finde ich auch keinen einzigen punkt für den
es nicht mindestens eine Lib für den avr-gcc gibt. Hab fast alles
in der Liste schon in Robotern verbaut (bis auf das Kompassmodul).
Gerade bei LCDs und UART gibts sehr viele Lösungen.

@Mehto
Wenn du vorher noch Assembler gelernt hast werden dir
viele Sachen gleich klarer sein, als wenn du gleich C lernst.
Mit "Assembler ab 0 und 1" hab ich auch angefangen.
Auf der Seite oben gibts auch noch "Wie sag ichs meinen Avr?"
auch gut wenns um Sachen wie Timer und ADC geht.

pebisoft
11.02.2005, 15:17
hallo, ich brauche eine lib/c/h für den ultra-srf04, ultrasrf08, i2c-eeprom 24c256, für den tsop1736, ir-sendediode, lcd-display 24x2 und compasmodul cpms03. wer kann mir eine liste zusammenstellen, die auch funktionsfähige routinen enthält. danke.
mfg pebisoft

Thorsten
11.02.2005, 15:36
http://homepage.sunrise.ch/mysunrise/peterfleury/avr-software.html
Deckt schonmal Display und alles mit i2c ab.
Was braucht man fur den TSOP, der gibt doch einfach aus ob
36khz Signal da oder nicht? Falls du rc5 meinst hilft dir die Seite weiter:
http://www.mikrocontroller.net/forum/read-4-74473.html#new
srf08 ist mit i2C abgedeckt, srf08: Impulslänge messen
dürfte ja kein Problem sein.
Hab grad nach dem Kompassmodul gesucht, wird auch über I2C angesprochen.
Auch erledigt.

pebisoft
11.02.2005, 21:07
hallo, vielen dank. ich finde , die schönste sprache ist die muttersprache.
mfg pebisoft

Mehto
11.02.2005, 21:54
was meinst du denn als Muttersprache? :-s :cheesy:

pebisoft
11.02.2005, 22:46
hallo, meine muttersprache als deutscher bürger ist die deutsche sprache.
es gibt auch menschen, die die staatsangehörigkeit gewechselt haben nach deutschland und deren muttersprache ist immer noch ihre eigene nationalitätensprache.
mfg pebisoft

muraad
11.02.2005, 23:47
@pepisoft
Hab ich irgendwas nicht mitbekommen?
Was redest du über Muttersprache, Staatsangehörigkeit 8-[ ?

Thorsten
12.02.2005, 01:47
@pepisoft
Meine Muttersprache ist (auch) Deutsch, solll ich jetzt den uC in
Deutsch programmiern oder wie versteh ich deine Aussage?

Wenn ich mich mit anderen Personen verständigen will nehm ich
Deutsch (oder Englisch). Wenn ich mit nem Controller reden will nehm ich c
oder asm......

Irgendwie haben wir uns glaubich falsch verstanden (oder ich
versteh deine Aussage nicht?)

Mehto
12.02.2005, 08:17
Ach,

jetzt verstehe ich.

Das war ein Scherz :lol: =D>

Er meinte da wir von (Programier-) Sprachen sprechen, spricht er am liebsten seine Muttersprache. =D>

Thorsten
12.02.2005, 10:42
War ja auch schon ein bischen spät, als ich das gelesen hab *g*