Forum: Mikrocontroller und Digitale Elektronik Einsteiger träumt :D


von Tim (Gast)


Lesenswert?

Guten Abend,
erstmal hoffe ich das ich hier richtig bin, wenn nicht bitte 
verschieben. Danke schon mal im voraus :)

Also ich bin neu in (Atmel?) AVR und würde mich mit dem Thema gerne 
auseinandersetzte :). Ich kann C und C++ und ein bissel ASM und denke 
das ich es mit dem programmieren schaffen kann :D

Was ich machen will:
Ich will mir mehrere AVRs in parallel betrieben um mehr Leistung 
zukriegen, weil ein AVR hat ja durchschnittlich nur 16 MHz (oder?). 
Außerdem möchte ich non was einfügen wie Grafik aber kein HD oder 4K :O, 
sondern ehr Textmodus... Aber natürlich eine Möglichkeit um Daten an den 
PC zusenden (LAN, USB, FireWire?) bzw. mit ihm in Kontakt zubleiben, 
also das sozusagen  24 Stunden Daten übertragen werden können und nicht 
irgendwann die Verbindung abbricht. Und ein micro-SD, mini-SD, SDHX, SD 
Slot währe 1A.

Wie löst man so was am schlausten?
Welche Hardware soll ich nehmen?
C, C++ oder ASM?
usw...

LG

von Karl H. (kbuchegg)


Lesenswert?

Tim schrieb:

> Welche Hardware soll ich nehmen?

Einen Rasberry Pi.
Bei deien VOrstellungen bist du schon weit über dem, was mit einem AVR 
noch sinnvoll machbar ist.

> C, C++ oder ASM?

was du kannst. Entscheidend ist nicht die Sprache, sondern dass man sie 
beherrscht.

: Bearbeitet durch User
von Bitflüsterer (Gast)


Lesenswert?

> Ich kann C und C++ und ein bissel ASM und denke
> das ich es mit dem programmieren schaffen kann

Ich nehme an, Du hast C und C++ auf dem PC praktiziert. Darf ich fragen 
in welchem Umfang? Was war Dein letztes Projekt?

Vorausgesetzt, es war nichts allzu Triviales, hast Du eine der 
Voraussetzungen erfüllt.

uC Programmierung ist ein großer Teil Elektronik, ein großer Teil 
Bitfummelei und ein großer Teil Peripherie-Setup.

Ich rate Dir, die Tutorials hier: 
http://www.mikrocontroller.net/articles/AVR-Tutorial durchzuarbeiten. 
Ein Teil Deiner Träume ist damit abgedeckt. Und zu dem Rest schaffst Du 
damit die Grundlagen.

von Tim (Gast)


Lesenswert?

Karl Heinz schrieb:
> Einen Rasberry Pi.
> Bei deien VOrstellungen bist du schon weit über dem, was mit einem AVR
> noch sinnvoll machbar ist.

OK oder vielleicht noch was stärkeres auf ARM Basis?

Bitflüsterer schrieb:
> Ich nehme an, Du hast C und C++ auf dem PC praktiziert. Darf ich fragen
> in welchem Umfang? Was war Dein letztes Projekt?

Genau auf dem PC.
Mein letztes Projekt waht Monopoly mit QT und ein kleines Betriebssystem

von Falk B. (falk)


Lesenswert?

@ Tim (Gast)

>Ich will mir mehrere AVRs in parallel betrieben um mehr Leistung
>zukriegen, weil ein AVR hat ja durchschnittlich nur 16 MHz (oder?).

Unsinn. Wenn du mehr Leistung braucht, nimm einen leistungsfähigeren 
Prozessor? ARM ist im Moment hipp, STM32 einer der hart beworbenen 
Vertreter dieser Relegion ;-)

>Außerdem möchte ich non was einfügen wie Grafik aber kein HD oder 4K :O,
>sondern ehr Textmodus...

Das kann jeder 0815 uC.

http://www.mikrocontroller.net/articles/HD44780


> Aber natürlich eine Möglichkeit um Daten an den
>PC zusenden (LAN, USB, FireWire?) bzw. mit ihm in Kontakt zubleiben,

Dazu reich im einfachsten Fall ein virtueller UART per USB.

>also das sozusagen  24 Stunden Daten übertragen werden können und nicht
>irgendwann die Verbindung abbricht. Und ein micro-SD, mini-SD, SDHX, SD
>Slot währe 1A.

Kann auch ein kleiner uC, wenn gleich der nicht mehrere MB/s dort 
draufschreiben kann.

>Wie löst man so was am schlausten?

Schlau.

>Welche Hardware soll ich nehmen?

Deine Anforderungen sind zu allgemein. Kann man nicht sagen.

>C, C++ oder ASM?

C oder C++, vergiss ASM. Das ist nur für einen sehr kleinen Teil von 
Problemen sinnvoll. Einige Hardcore-Neandertaler werden natürlich 
lautstark das Gegenteil behaupten ;-)

von Tim (Gast)


Lesenswert?

Bin grade über denn Banana Pi gestoßen.
Macht einen guten Eindruck :)

Und ich nehme C weil ich das am besten kann

Was ist uC?

von jz (Gast)


Lesenswert?

uC ist die Alternative(für die Leute, die mit einer Tastatur nicht 
umgehen können) für µC. µ=Mikro; C=Controller

von Tim (Gast)


Lesenswert?

Achso, also ein Controller der fürs über tragen von Daten da ist?

von Shuzz (Gast)


Lesenswert?

"AVRs" sind z.B. µC (Mikrocontroller).

D.h. programmierbare CPUs mit integriertem Flash für Deinen Code, etwas 
RAM für Deine Daten und allerlei Peripherie/Schnittstellen (Timer, UART, 
GPIOs, I2C, SPI, A/D Wandler, ...), untergebracht in mehr (DIP) oder 
weniger (TSOP) bis gar nicht (QFN) bastlerfreundlichen Chipgehäusen.

Ob Du damit jetzt "nur" Daten übertragen willst oder Fertigungsstraßen 
steuern möchtest hängt von Dir ab. :D

Lies den Grundlagenartikel der weiter oben verlinkt wurde, bitte.

von Tim (Gast)


Lesenswert?

Danke für die Hilfe und Tipps, Links!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

jz schrieb:
> uC ist die Alternative(für die Leute, die mit einer Tastatur nicht
> umgehen können) für µC.
Oder mit einem Tablet surfen. Oder mit dem Handy unterwegs sind.

Und das u statt des µ ist schon seit dem letzten Jahrtausend akzeptiert. 
Ich erinnere da nur an den uA741 oder den uA723...

von Moby (Gast)


Lesenswert?

Falk Brunner schrieb:
> Einige Hardcore-Neandertaler werden natürlich
> lautstark das Gegenteil behaupten ;-)

Nö. Das behaupten auch ganz normale Bastler. Der AVR ist mit dem 
beschriebenen Einsatzfall i.d.R. immer noch weit von seiner Auslastung 
entfernt. Und in Asm eigentlich immer ;-)
Ich empfehle aber die modernen 32 Mhz Xmegas, z.B. Xmega128A4U. Fast 
ganz ohne externe Beschaltung sind die für jeden Einsatz gerüstet...

von Carsten R. (kaffeetante)


Lesenswert?

Ewas abseits aber auch nich völlig uninteressant.

AVR Net-IO
http://www.pollin.de/shop/suchergebnis.html?S_TEXT=AVR-NET-IO+-+Fertigmodul&log=internal&recommend=true

Dazu einen etwas größeren Atmega um Ethersex aufzuspielen und etwas 
Platz zu haben.

Das Tablett oder Handy mit Browser wird zum Display.

von Musst du selbst entscheiden (Gast)


Lesenswert?

Kommt halt drauf an, ob du Spaß an der Bitfummelei hast, oder ob du 
lieber mit C++ und Libraries arbeitest.

Sicher kann man das in Assembler auf mehrere kleine AVRs verteilen. 
Dauert halt 2 Jahre, bis man die ganzen Detailprobleme im Griff hat. Und 
die Hardware wird auch nicht billiger ein STM-Discovery oder eine Linux 
Platine.

von Moby (Gast)


Lesenswert?

Carsten R. schrieb:
> AVR Net-IO

> Das Tablett oder Handy mit Browser wird zum Display.

Dazu nehme man
netio.davideickhoff.de

Super Sache, diese iOS/Android App!

von c-hater (Gast)


Lesenswert?

Lothar Miller schrieb:

> Oder mit einem Tablet surfen. Oder mit dem Handy unterwegs sind.

Also mit meinem (einige Jahre alten) Handy kann ich ein µ schreiben, das 
kostet nur drei Tastendrücke mehr als ein u.
Und wenn ich die Sprachen beherrschen würde, könnte ich sogar Thai oder 
chinesisch darauf schreiben. Die Zeichensätze sind jedenfalls vorhanden 
und auch die Eingabemöglichkeiten dafür.

Ich kann mir kaum vorstellen, daß das mit heutigen Smartphones oder 
Tablets nicht mehr gehen sollte. Wahrscheinlicher ist wohl, daß sich die 
durchschnittliche Kompetenz der Nutzer umgekehrt proportional zur 
Leistungsfähigkeit der Geräte entwickelt hat...

> Und das u statt des µ ist schon seit dem letzten Jahrtausend akzeptiert.
> Ich erinnere da nur an den uA741 oder den uA723...

Ja, man kam lange Zeit mit 7Bit-ASCII aus. Trotzdem wurden irgendwann 
die unseligen Codepages erfunden und später sogar Unicode. Das war 
allerdings beides schon im letzten Jahrtausend...

von Mike (Gast)


Lesenswert?

Lothar Miller schrieb:
> Und das u statt des µ ist schon seit dem letzten Jahrtausend akzeptiert.

Und in manchen Gegenden wird ein y an Stelle eines µ verwendet, weil die 
Unterlänge so "schön" ist ;-(

Da streuben sich einem die Nackenhaare, spätestens wenn des "µC" nicht 
für Mikro Controller, sondern für Mikro Coulomb steht.

von Moby (Gast)


Lesenswert?

c-hater schrieb:
> durchschnittliche Kompetenz der Nutzer umgekehrt proportional zur
> Leistungsfähigkeit der Geräte entwickelt hat...

Kann sie ja auch, wenn die Benutzung derer Gott sei Dank wenigstens an 
der Oberfläche zunehmend vereinfacht wird. Denn es gibt wichtigeres als 
Kommandozeilen, Bedienalgorithmen und 'Wie und wo zum Teufel mache ich 
jetzt dieses und jenes' zu pauken.

von anonym (Gast)


Lesenswert?

c-hater schrieb:
> ch kann mir kaum vorstellen, daß das mit heutigen Smartphones oder
> Tablets nicht mehr gehen sollte.

Ich habs gerade ausprobiert. Mit meinem galaxy s3 geht es nicht, bzw. 
hab ich es nicht gefunden.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

µC kann man auch mit einem Galaxy S3 schreiben. Man muss das Zeichen von 
Hand malen. Gerade probiert.

: Bearbeitet durch User
von jz (Gast)


Lesenswert?

Einfach das m gedrückt halten und gut is... Genauso wie die Umlaute.

von Marius S. (lupin) Benutzerseite


Lesenswert?

Tim schrieb:
> Was ich machen will:
> Ich will mir mehrere AVRs in parallel betrieben um mehr Leistung
> zukriegen

Habe das mal durchgerechnet. Du brauchst genau 73,5 AVRs. Den letzten 
musst du dann in der Mitte durchschneiden.

Oder alternativ einen passenden Controller.

von jz (Gast)


Lesenswert?

Warum willst du da was parallel schalten? Taktfrequenz ist nicht alles, 
und wenn man sich überlegt, was ein PC mit gescheiter Programmierung 
kann, dann reicht mir auch ein 1000tel der Leistung für Steueraufgaben.
Hauptsache du fängst an zu programmieren. Ich empfehle dir AVR, weil ich 
auch damit angefangen habe. Da ich keinen Bock auf Bitmanipulation in 
C/C++ hatte, hab ich einfach Assembler genommen und bin immer noch 
dabei. Aber mach endlich mal was...

von Peter D. (peda)


Lesenswert?

Moby schrieb:
> Und in Asm eigentlich immer ;-)
> Ich empfehle aber die modernen 32 Mhz Xmegas, z.B. Xmega128A4U.

Also ich möchte keine 128kB in Assembler schreiben müssen, die Xmega 
schreien definitiv nach C/C++.

Assembler ist nur was für die ATtiny, z.B. ATtiny13, ATtiny261.

von Carpe Diem (Gast)


Lesenswert?

Tim schrieb:
> Ich will mir mehrere AVRs in parallel betrieben um mehr Leistung
> zukriegen, weil ein AVR hat ja durchschnittlich nur 16 MHz (oder?).
> Außerdem möchte ich non was einfügen wie Grafik aber kein HD oder 4K :O,
> sondern ehr Textmodus...

> übertragen werden können und nicht
> irgendwann die Verbindung abbricht. Und ein micro-SD, mini-SD, SDHX, SD
> Slot währe 1A.
>
> Welche Hardware soll ich nehmen?

FPGA als AVR Coprozessor oder einen Embedded Prozessor der Grafik; 
Multiprozessorsupport (SMP?) und andere Schnittstellen bereits 
mitbringt.

MfG,

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

c-hater schrieb:
> Ich kann mir kaum vorstellen, daß das mit heutigen Smartphones oder
> Tablets nicht mehr gehen sollte.
Deine Vorstellungskraft ist offenbar nicht ausreichend für die heutige 
Zeit...
Bittschön, hier mal der komplette Zeichsatz der Softtastatur meines 
Handys:
qwertzuioplkjhgfdsayxcvbnm123èéêëęě4řŕ5ţť6źżž7ùúûüůű8ìíîïı9òóôõöœøő0!àáâ 
ãäåæą@ßśşš#ď$€£¥¢%‰ğ&+*?/\łĺľ:;-~—ñńň)>]}(<[{'çćč"_ýÿ"';,-:=.℉℃°¤⊙ω®©»«§ 
|><}{¿¡][^\~¢£¥€
Die ganzen Buchstaben gibt's mit all ihren Abwandlungen dann auch noch 
in groß (z.B. ÒÓÔÕÖŒØŐ).
Und, siehst du ein mü?

> Wahrscheinlicher ist wohl, daß sich die
> durchschnittliche Kompetenz der Nutzer umgekehrt proportional zur
> Leistungsfähigkeit der Geräte entwickelt hat...
Wahrscheinlich hast du Recht. Aber wahrscheinlicher ist, dass du von 
etwas sprichst womit du keine Erfahrung hast.

von Moby (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Also ich möchte keine 128kB in Assembler schreiben müssen

Brauchst Du auch nicht, Peter. Denn in Asm ist die Aufgabe meist viel 
kürzer gelöst. Der Rest des Flash ist dann ein super Datenspeicher.

Peter Dannegger schrieb:
> die Xmega
> schreien definitiv nach C/C++.

... und sind daran auch besser angepaßt als AVRs jemals zuvor. Wers 
mag...

von Carsten R. (kaffeetante)


Lesenswert?

Wenn man eh Bits in den Registern Konfigurieren muß ist der Unterschied 
zu Assembler auch nicht mehr groß. Aber dafür gib es auch Bibliotheken. 
Für komplexere Aufgaben die nicht unbedingt hardwarenah auf die Register 
zugreifen müssen haben Hochsprachen natürlich Vorteile. Dafür wurden sie 
gemacht.

Es hängt halt davon ab was man machen will und welche Sprachen man schon 
kennt bzw sich noch aneignen will. Bei komplexen Aufgaben sattelt man 
selten von ASM auf C/C++ um und wer größtenteils nur Register 
konfiguriert und kompakte Funktionen implementiert, auch wenn sie 
zahlreich sein mögen, für den wird es sich kaum lohnen für einen 
Einzelfall auf C/C++ oder andere Sprachen umzusteigen.

Der Nachteil bei Assembler ist aber ganz klar. Bei jeder Architektur ist 
der Befehlssatz anders. Es gibt nicht den Assembler.

Im Idealfall kann man natürlich beides oder alles. ;-)

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

@ Moby (Gast)

>> Also ich möchte keine 128kB in Assembler schreiben müssen

>Brauchst Du auch nicht, Peter. Denn in Asm ist die Aufgabe meist viel
>kürzer gelöst. Der Rest des Flash ist dann ein super Datenspeicher.

Geh wieder in deine Höhle und hämmere mit deinem Fauskeil auf dem 
Mammutschädel rum. Viel Spass.

von Moby (Gast)


Lesenswert?

Schee... Allein, der Vergleich ist völlig daneben ;-)

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Moby schrieb:
> Schee... Allein, der Vergleich ist völlig daneben ;-)

Stimmt, es ist kein Mammutschädel, sondern nur Brei. Und Du hämmerst 
nicht, sondern rührst nur um :)

SCNR.

von Moby (Gast)


Lesenswert?

Ach schade, daß derlei wunderbare Poesie sowas abwertendes hat ;-) Dabei 
erreicht man mit Asm so vieles so einfach so schnell und auf kürzestem 
Wege... Das hat leider nur einen Haken: Es stellt das umfangreiche 
Fachwissen kryptischer, komplexer, bücherfüllender Hochsprachen so 
mancher Experten hier furchtbar  abscheulich infrage ;-(
Tut mir aufrichtig leid!

von Carsten R. (kaffeetante)


Lesenswert?

Es ist nicht unbedingt notwendig einen FPGA oder CPLD zu nehmen wenn es 
ein 74er Logikbaustein auch tut. Das ist nicht unbedingt ein Vorteil. 
Umgekehrt ist es selten geworden sich einen PC aus einzelnen 
Logikbausteinen (TTL-Grab) aufzubauen. Der Raum zwischen diesen Extremen 
ist groß und die Grenzen nicht scharf.

von Moby (Gast)


Lesenswert?

Carsten R. schrieb:
> Umgekehrt ist es selten geworden sich einen PC aus einzelnen
> Logikbausteinen (TTL-Grab) aufzubauen.

Sicher. Nur bei der überwiegenden Mehrzahl der Bastlerprojekte hier 
gilt:

Carsten R. schrieb:
> Es ist nicht unbedingt notwendig einen FPGA oder CPLD zu nehmen
> wenn es ein 74er Logikbaustein auch tut.

von Carsten R. (kaffeetante)


Lesenswert?

Das sehe ich auch so. Nur viele haben zuerst programmieren gelernt und 
dann Mikrocontroller hinzugenommen. Da sattelt an nur ei Bedarf oder 
interesse auf ASM. Da sind halt verschiedene Fraktionen.

Umsatteln oder eine weitere Sprache zu lernen ist auch etwas Aufwand und 
beherbergt potentiell mehr Anfängerfehler. Ob sich das lohnt um die 
Sprache zu nutzen die für die jeweils aktuelle Aufgabe am Besten 
geeignet wäre?

Ohne nennenswerten Zwang gilt, was Karl Heinz schon sagte:

Karl Heinz schrieb:
>> C, C++ oder ASM?
>
> was du kannst. Entscheidend ist nicht die Sprache, sondern dass man sie
> beherrscht.

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
Noch kein Account? Hier anmelden.