Hallo, Ich bin begeisterter Hobbyelektroniker, ich habe mir viel wissen über verschiedene Lötverfahren, alle möglichen Bauteile und deren Verwendung und fast allem was dazugehört in vielen verschiedenen Berreichen angeeignet. Nur jetzt bin ich an ein Thema gestoßen dass zwar sehr interressant ist und mir viele neue Möglichkeiten bieten würde aber mit dem ich mich sehr schwer tue, nämlich Microcontroller und deren Programmierung. Was ich alles brauche um Microcontroller zu verwenden/Programmieren habe ich ohne weiteres gelernt und besorgt jetzt könnte es eigentlich losgehen wenn da nicht dass lästige aber unumgängliche Programmieren der selbigen wäre. Ich hab nen bisschen was schon ausprobiert, Assembler und C um genau zu sein nur geht Assembler einfach nicht in meinen Kopf rein und ist auch sehr Fehleranfällig (zumindest wenn man es nicht kann) und für C gibt es wohl kein HowTo unter 500 seiten die man nicht nur lesen sondern auch verstehen muss. Da ich gern schnelle erfolge habe und nunmal nicht Hauptberuflich Programmieren will (was ich mit erlernen von C ja könnte) habe ich nach ALternativen gesucht (sogar nach einem Bausteinprogramm zum Programmieren von MCs). EIn solches programm habe ich zwar nicht gefunden aber mir wurde gesagt dass Pascal wohl die einfachste (abgesehen von Assembler) Programmiersprache ist um einen Microcontroller zu sagen was er tun soll. Was ich nicht gefunden hab ist ein Tutorial welches sich konkret damit befasst AVR Microcontroller mit Pascal zu Programmieren. Dass mag zwar sehr faul klingen aber ich möchte wirklich nicht mehr lernen als Microcontroller von AVR mit Pascal (oder auch einer einfacheren Programmiersprache) zu Programmieren. Wenns Natürlich noch eine Alternativlösung gäbe wie zB. ein Bausteinprinzip oder eine Codeschnipselansammlung wo es für jedes Problem einen Schnipsel gibt wäre ich natürlich sehr dankbar für einen Fingerzeig =). Ansonsten vielen Dank für Lösungen und Anregungen =) ...
es macht keinen unterschied ob du in c oder pascal programmierst... ich programmiere zwar lieber in pascal (pc), jedoch sind die unterschiede die für dich als anfänger zu klein. du solltest µc in c programmieren.. pascal compiler bekommst du nicht gratis und schon gar nicht wenn du viele verschiedene µc programmieren willst. "einfacher" ist allerhöchstens die syntax, das zu programmierende problem wird dadurch aber nicht kleiner.. so schwer ist das garnicht. gucke dir variablen, funktionen, schleifen, if, case/switch und shift an. damit kannst du schon viel anfangen und schwer ist das nur gaaanz am anfang... später musst du wie als kind mit deinem lego koffer alles so zusammen setzen wie du meinst.. kinder bauen autos auch nicht gleich zusammen, autos sind das trotzdem. grüße
Mino Taurus schrieb: > sogar nach einem Bausteinprogramm Gibt es. Nannte sich... Flowcode Mino Taurus schrieb: > für C gibt es > wohl kein HowTo unter 500 seiten Da stimme ich voll und ganz zu. Tue mich da selber sehr schwer. Mino Taurus schrieb: > (oder auch einer > einfacheren Programmiersprache) Wie wäre es mit BASCOM? Und Assembler ist wirklich nur am Anfang schwer. Das Beispiel mit den Legos ist da sehr treffend.
Aber nur mal so als Tipp: MikroElektronika MicroPascal - Gibt es als 2KB Limit Version- zumindest zum reinschnuppern reicht das schonmal und MikroE ist noch relativ umgänglich. http://www.mikroe.com/eng/products/view/227/mikropascal-pro-for-avr/
Pascal ist als Sprache eine saubere Sache, und ich würde sie jederzeit gerne empfehlen. Der Haken dabei: sie ist in der MC-Welt viel zu exotisch, kaum jemand nimmt etwas anders als C oder Assembler. Das wäre kein Hinderungsgrund, sondern eher Ansporn, für jemanden, der mutig ist und offen für Neues. Solange man aber mit der Materie nicht so recht warm geworden ist, ist man viel auf Hilfe in Foren etc. angewiesen. Und da wird dir kaum jemand helfen können, wenn du so etwas nimmst. Das ist mit BASIC schon schwierig, aber der Mainstream ist C und ASM. So eklig Mainstream generell ist, so hilfreich ist es dagegen, wenn man Hilfe braucht.
Hallo, das "schwere" am Programmieren ist die richtige Denkweise, sprich, das was man will in einen auf dem µC verwendbaren Algorithmus umzusetzen. Gerade hier sind die Unterschiede in C und Pascal, zumindest für das was dich am Anfang interessiert, marginal. Basic ist auch nur einfacher wenn du die fertigen BASCOM-Module verwendest. Anfänger fragen oft, welche Programmiersprache sie lernen sollen. Das ist strenggenommen eher vollkommen egal, nur das C können bei Bewerbungen etwas besser aussieht. Denn wie bereits erwähnt, die Denkweise ist das Können und macht ca. 90-95% der Programmierarbeit aus, das umsetzen in die jeweilige Syntax ist vergleichsweise stupide. Z.b. das ganz einfache Beispiel die Summe eines Einkaufszettels zu bilden, du musst erst wissen, was will ich eigentlich, wie mach ich das im richtigen Leben. "Ich gehe die Liste der Preise von oben nach unten durch und addiere alle zusammen, dazu kann ich einen Stift verwenden der immer auf den Preis zeigt mit dem ich gerade rechne Der nächste Schritt ist, wie sind meine Daten abgebildet in der Software: - Listen sind generell Felder/Arrays, die sind in C und Pascal grundsätzlich identisch aufgebaut (wobei Pascal einige nette Bequemlichkeiten mehr bietet): feldname[index] - Für den Endpreis reicht einen simple Variable.. Wenn das klar ist kannst du dir (später machst du das gedanklich im Hintergrund bei einfachen Sachen) ein Flußdiagramm zeichnen
1 | **************************** |
2 | * Endpreis auf Null setzen * |
3 | **************************** |
4 | I |
5 | ********************************** |
6 | * Zeiger auf ersten Preis setzen * |
7 | ********************************** |
8 | I |
9 | ********************************************************* |
10 | * Preis auf den der Zeiger steht auf den Preis addieren * |
11 | ********************************************************* |
12 | I I |
13 | ************************************ I |
14 | * Zeiger auf nächsten Preis setzen * I |
15 | ************************************ I |
16 | I I |
17 | ************************ I |
18 | * Wiederholen bis Ende *------------------------------- |
19 | ************************ |
20 | I |
21 | ********************* |
22 | * Endpreis ausgeben * |
23 | ********************* |
Jetzt kannst du das schon fast direkt so in Code übersetzen, als Beispiel für 20 Preise:
1 | float preise[20]; |
2 | |
3 | preis[0] = 3.43; |
4 | preis[1] = 10.39; |
5 | [...] |
6 | preis[19] = 13.49; |
7 | |
8 | |
9 | float endpreis; |
10 | int preiszeiger; |
11 | |
12 | endpreis = 0; |
13 | |
14 | for (preiszeiger=0;preiszeiger<20;preiszeiger++) |
15 | { |
16 | endpreis = endpreis + preis[preiszeiger]; |
17 | } |
Das war jetzt fix für 20 Preise und die siehst, dass die Umsetzung in wirklichen Code schon bei dieser einfachen Sache sehr wenig ist. Ich hab das ganze jetzt zusammengefasst, das ist z.B. eine for-Schleife, die wiederholt ihren Inhalt eine vorher bekannte Anzahl Wiederholungen. Es gibt auch das (while) oder (do..while) Konzept, das bis zu einem gewissen Zustand wiederholt. Aber, auch diese Konstrukte gibt es in fast allen Sprachen nahezu identisch, du kannst sehr lange abstrakt und sprachunabhängig arbeiten, die Umsetzung in Syntax ist immer der letzte und unspektakulärste Schritt. Wenn man programmieren kann, ist das Beherrschen einer neuen Sprache in ihren Grundzügen eine Sache von 2-3 Wochen. Die Details selbstverständlich erst nach Monaten-Jahren. Gruß, Christian
Mino Taurus schrieb: > Ich hab nen bisschen was schon ausprobiert, Assembler und C um genau zu > sein nur geht Assembler einfach nicht in meinen Kopf rein und ist auch > sehr Fehleranfällig (zumindest wenn man es nicht kann) und für C gibt es > wohl kein HowTo unter 500 seiten die man nicht nur lesen sondern auch > verstehen muss. Wenn du mitlerweile zur Überzeugung gekommen bist, es vielleicht doch mit C zu versuchen: Besorg dir einen C Compiler - und zwar für den PC. Weiters in der nächsten Buchhandlung ein beliebiges C-Buch. Für PC gibt es die wie Sand am Meer. ALlerdings machst du um alles einen großen Bogen, was dir auf dem Titeleinband verspricht, das alles ganz einfach wäre und du in 5 Tagen zum Meisterprogrammierer ausgebildet wirst. Der Klassiker 'Kernighan&Ritchie Programmieren in C' ist zb ein Buch, welches gerne genommen wird und auch ein empfehlenswertes Buch ist. Dieses Buch arbeitest du durch, bis du zum Kapitel über Dateibearbeitung kommst. Das wird so ungefähr nach dem ersten Drittel sein. Wenn du diesen Buchinhalt intus ist und auch auf dem PC geübt hast, dann hast du ein erstklassiges Rüstzeug um auf einen µC zu wechseln und dich dort mit den spezifischen µC Dingen vertraut zu machen, die es so in der PC-Welt nicht gibt. Das ist dann aber nicht mehr weiter schwer, weil dich dein Grundwissen da durchträgt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.