Hallo Leute, kann mir jemand ein paar hilfreiche Tipps geben? Ich bin Neuling auf dem Gebiet der Microcontroller und würde gerne Erfahrungen damit sammeln. Bisher habe ich bei meinen Elektronikprojekten, die eine ausgefeiltere Steuerung benötigten immer auf den PC zurückgegriffen und mittels Basic über den Parallelport gesteuert. Deshalb eine Frage gleich vorweg: gibt es Basic-Tools für die Programmierung/Programmerstellung von Microcontrollern? Ich kann zwar auch in gewissem Rahmen Assembler programmieren, aber für kompliziertere Schaltanwendungen oder gar kleinere bis mittlere Rechenoperationen wird sicher nur eine höhere Programmiersprache weiterhelfen. Und dann stellt sich natürlich noch die Frage der hardwaremäßigen Programmierung. Super wäre natürlich ein Controller, der sich per serieller Schnittstelle quasi auf seinem Board programmieren ließe, ist aber kein Muß. Ansonsten wäre es sicher auch kein Problem, ein Programmierboard zusammenzulöten. Hier mal eine Aufzählung, was mir so vorschwebt: -uC mit mindestens 16 (besser 24 oder 32) frei programmierbaren I/O-Ein/Ausgängen und ausreichend Speicher on Board für etwas längere Programme (ca.128kb?!) -passendes Basic-Tool zur Programmerstellung -Programmiersoftware plus Board für Win98 oder höher (am besten Freeware) und einen passenden Schaltplan fürs Programmierboard Was haltet Ihr z.B. von uCs aus der 8051er-Familie? Viele Grüsse und einen schönen Nach-Feiertag für die, die gestern frei hatten ;O)!
Hi, aaallsooo ... 1. empfehle ich dir, lerne C. Das ist gar nicht so schwirig, ich komme auch von BASIC (vor 10J, weils mir zu lahm wurde auf dem PC). C ist einfach viel flexibler, und sehr hardwarenah und schnell. Ausserdem weisst du mehr, was passiert, als mit Tokens um Dich zu werfen. Microcontroller: ---------------- - Ein sehr guter Einsteigercontroller ist z.B. der AT Mega8 in DIL. Den bekommste auf nem Steckbrett in 5mins zum laufen, ist sehr einfach zu programmieren, und hat - wie die ganze AVR Familie - ein super Datenblatt/Programmiermanual. Programmieren kann man die über die parallele Schnittstelle und Ponyprog mit ein paar Widerständen, oder ein bischen Hardware und der seriellen. Hier gibtz auch nen USB progger zu kaufen im Shop dieser Seite. Grosser Vorteil ist weiter, dass man den sehr günstig bei Reichelt und ebay bekommen kann, und er Steckbrett-tauglich bzw. für den Hobbybereich lötbar ist. - Möchtest Du richtung 32Bitter etwas machen, so empfehle ich dir entweder den ARM7 von NXP (Philips) LPC2148, als DEV Kit MCB2140 von Keil (www.keil.com), oder den ARM Cortex-M3 von ST Microelectronics STM32, als Dev Board MCBSTM32, ebenfalls von Keil. Diese Controller sind sehr performant, bringen ebenfalls einiges an Peripherie mit sich, und haben auch viel Speicher. Allein die 32Bit bringen schon viel Rechenpower mit, dazu kommen die höheren Taktfrequenzen um 50MHz. Auf diesen kann man auch nen Bootloader laden, und dann lässt sich der proz per serieller proggen. Mit den o.g. Controllern habe ich selbst viel Erfahrung sammeln können, und es hat spass gemacht, damit zu arbeiten. --- Auch zu empfehlen ist der AT91SAM7X von Atmel. Mit dem habe ich aber gerade erst angefangen so dass ich dazu noch nciht viel sagen kann. Das schöne an dem ist, der hat Netzwerk mit drauf! Suchst du einen 16Bitter, dann kannste den M16C nehmen. Die 16Bitter könnten aber wegen dem Cortex-M3 (z.B. von STM) auf dem absterbenden Ast sein. --- Fazit: Einstieg super-einfach mit AVR (AT Mega8 z.B.) Wenn mehr Power: ARM Cortex-M3 (STM32) Anmerkung: Wenn du dein BASIC vergisst und mit C arbeitest brauchste auch viel weniger Speicher. Dies ist ein wichtiger Kostenpunkt bei µCs! VG, /r.
Herr Bert wrote: > Deshalb eine Frage gleich vorweg: gibt es Basic-Tools für die > Programmierung/Programmerstellung von Microcontrollern? Für AVR/8051 gibt es Bascom. Allerdings ist C-Programmierung wesentlich verbreiteter. Für AVR gibt es nen guten freien C-Compiler > Ich kann zwar auch in gewissem Rahmen Assembler programmieren Assembler ist am Aussterben. Außerdem ist Assembler für jede CPU verschieden, mit PC-Assembler kannst Du auf nem AVR garnichts anfangen. > -uC mit mindestens 16 (besser 24 oder 32) frei programmierbaren > I/O-Ein/Ausgängen und ausreichend Speicher on Board für etwas längere > Programme (ca.128kb?!) PC und MC unterscheiden sich grundsätzlich im Speicherbedarf. Für nen MC sind 8kB schon ein sehr großer Wert, mit dem man viel programmieren kann. Es sei denn, man will Spaghetticode aus Copy&Paste Monstern ohne jede Struktur und Unterfunktionen machen. Dann sieht man aber sehr schnell selber nicht mehr durch. > Was haltet Ihr z.B. von uCs aus der 8051er-Familie? Da ist z.B. der AT89C51CC03 sehr nett. Und der hat auch nen Bootloader mit dem man völlig ohne Programmiergerät sofort losmachen kann. Bei den AVRs ist der ATMega168 zum Einstieg ideal. Ein Bootloader ist ab Werk aber nicht drauf, den muß man erst einprogrammieren. Peter
Hallo. Ich würde dir nen Atmega empfehlen. Kannst mit nem kleinen Atmega16 oder Atmega32 anfangen, und wenn du merkst der speicher wird knapp kannste auch nen Atmega128 nehmen. Die Avr können in Bascom programmiert werden. (Ist Basic, aber leider kein Freeware, jedoch als bis zu einer gewissen code größe kostenlos nutzbar) Mit einem Bootloader lassen sich diese auch Seriel oder per usb Programmieren, allerding muss der Bootloader auch erstmal auf den chip. viel erfolg.
Wenn man sowieso in Hochsprache programmiert, ist die darunterliegende Controllerarchitektur zweitrangig. Wenn Geschwindigkeit keine Rolle spielt, kann man auch Controller benutzen, die Basic über Firmware interpretieren (Basic-Stamp, C-Control Basic). Früher gab es auch 8052AH-Basic. Hier im Forum hat jemand einen Atmel AVR-basierten Mikrorechner mit Bildschirmausgabe (Video) und Tastaturinterface entwickelt bzw. vorgestellt. BASIC-Compiler gibt es für AVR (BASCOM-AVR), aber genauso für PIC (viele Varianten) oder 8051. Tip: Basic-Anwender werden von der hiesigen Assembler- und C-Fraktion bisweilen belächelt, also nicht provozieren lassen. ;)
Offenbar hält sich immer noch das Gerücht, Basic sei grundsätzlich ein Interpreter... Ist schon seit min. 25 Jahren nicht immer so. Wenn Du bereits Basic kannst, spricht nichts dagegen, sich den Einstieg leicht zu machen und zusammen mit einem AVR (z.B. Mega-16, unter 4 Euro) den Bascom-Compiler zu benutzen. Man kommt damit sehr schnell zu einem Ergebnis und es gibt eine kostenlose Trial-Version, mit der man schon einiges anstellen kann. Bascom ist auch für 8051er verfügbar. Wenn man dann mehr will, kann man immer noch C lernen - allerdings vorzugsweise erstmal auf dem PC... Die 8051er sind altgedient, man bekommt sicherlich die größte Unterstützung für diese Controller, aber die Atmel-AVR sind im Bastler-Bereich neben den PIC (und anderen) auch stark vertreten. Im Endeffekt ist es Geschmackssache, welchen Controller man hernimmt - oder man hat ein konkretes Projekt, in dem die eine oder andere Funktionalität wichtig ist.
Sebastian wrote: > Tip: Basic-Anwender werden von der hiesigen Assembler- und C-Fraktion > bisweilen belächelt, also nicht provozieren lassen. ;) Nun ja, dazu fällt mir nur aus nem anderen Forum (Showlaser, bin dort als Mod aktiv) der Kommentar von einem BASIC programmierer ein. Und zwar habe ich mal ein eigenes printf (thprintf) geschrieben, welches kompatibel zum normalen printf ist, aber nur eine hand voll wichtiger Sachen kann. Dafür brauchts dann nur ~200Byte programmcode. Was sagte der Basic-progger dazu? "Wenn ich eine int-zahl ausgeben will brauche ich dazu nur 1 Token, also 1 Byte, und keine 200" --- no comment --- BASIC ist halt ne schöne Einsteigersprache (hab damals den C64 damit gequält), aber wenn man ernsthaft was mit µCs machen will, sollte man C lernen. Genauso, wie man sich unter Linux von Anfang an den vi als Editor nehmen sollte. Gibtz einfach überall und läuft überall :-) > Wenn man dann mehr will, kann man immer noch C lernen - allerdings > vorzugsweise erstmal auf dem PC... Warum? Kann man auf dem µC genau so einfach lernen ... Besonders auf dem AVR! VG, /th.
>Assembler ist am Aussterben.
Peter, und das von Dir? Nee, ne? Wenn man sich an eine Controllerfamilie
hält, kann man in ASM durchaus noch ´was reißen :-)
Travel Rec. wrote: >>Assembler ist am Aussterben. > > Peter, und das von Dir? Nee, ne? Wenn man sich an eine Controllerfamilie > hält, kann man in ASM durchaus noch ´was reißen :-) g Wird aber insbesondere bei armcc nicht einfach. Hab mal armcc und gcc verglichen und ist echt hammer der unterschied. Hab so 1/3 weniger code beim armcc im Hinterkopf. Schaut man sich den asm code an ist da wirklich nicht mehr viel drin, als dass sich der aufwand lohnt. Es sei denn, man mischt BASIC mit ASM **LOOL** VG, /th.
hallo. ich befasse mich auch erst 1/2 jahr mit microcontrolern. eingestiegen bin ich mit asm weil ich das vom pc konnte. wenn man die grundlagen kennt ist es auch kein problem mit anderen mnemonics klarzukommen. basic halte ich persönlich für eine vergewaltigung des ucs (obwohl ich am pc sehr gerne damit arbeite xD). c ist für den controler schnell gelernt und schon nach n paar stunden können sich die ergebnisse sehen lassen. zum einstieg ist der atmega8 sehr zu empfehlen. besonders weils sehr viel soft- und hardwareausstattung dafür gibt. gut zu gebrauchen ist am anfang das entwicklungsboard von myavr (http://myavr.de/shop/article.php?artDataID=2). ist billig und leicht zu bedienen. als software solltest du jedoch gleich das avrstudio und sp12 (finde ich persönlich einfacher zu bedienen als ponyprog) benutzen und nicht die teure software von denen die - außer zum setzen von fuses - meines erachtens eh nix taugt.. ;) lg xeox
Hallo Herr Bert, schau Dir mal den Mikrocontroller-Fernlehrgang vom Elektor-Verlag an: Dort bekommst Du alles, was Du für den Einstieg braucht: - ein funktionsfähiges, fertig aufgebautes Board mit einem 8051, dem AT 89C51CC03 - eine umfassende Einführung in die Programmierung unter ´C´, für Anfänger !! - eine Einführung in den Hardware-Aufbau eines µC-Systems. - reichlich viele praktische Beispiele. - ein eLearning Angebot im Netz - ein 1-Tages-Workshop passend dazu. Meiner Meinung nach gibt es für den ersten Einsteig wenig Vergleichbares, aber hierüber läßt sich sicherlich diskutieren. Gruß Carlos
Random ... wrote: > Travel Rec. wrote: >>>Assembler ist am Aussterben. >> >> Peter, und das von Dir? Ja natürlich. Hast Du in den letzten 10 Jahren Code von mir in Assembler >1kB gesehen? Ich nicht. Da die ATtiny12/15 durch den ATtiny13/25 mit SRAM ersetzt worden sind, ist Assembler bei den AVRs nicht mehr nötig. Ich schaue natürlich gerne mal in das Assembler-Listing, um zu verstehen, was der Compiler da gemacht hat. Insbesondere ein vergessenes volatile fällt da schnell auf. Peter
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.