Hallo, ich lege zum ersten Mal mit Mikrocontrollern los und habe ein NUCLEO-H723ZG bestellt. Welches Zubehör würdet ihr empfehlen zum Prototypen. Mir fällt ein: -- USB-Kabel -- Multimeter -- RJ45-Kabel -- ggfs. Jumpers Vielen Dank
Lysandros schrieb: > ich lege zum ersten Mal mit Mikrocontrollern los und habe ein > NUCLEO-H723ZG bestellt. Mit einem Porsche das Fahren lernen ist vielleicht etwas ambitioniert, oder? Ein oller Arduino und eines dieser typischen Startsets mit ein paar LEDs und Tastern wäre zum Einstieg sicher besser für die Lernkurve und das Frustgefühl. Einem H7 (auf dem fast schon Unix laufen kann) Ethernet beizubringen ist kein typisches Anfängerprojekt. Sowas: https://amzn.eu/d/7zXuBr6
:
Bearbeitet durch User
Sebastian R. schrieb: > Mit einem Porsche das Fahren lernen ist vielleicht etwas ambitioniert, > oder? Das ist schon fast ein F1-Bolide. Für Einsteiger vollkommen ungeeignet!
Die Teile langen bei weiten. Nucleo, Usb Kabel, PC und Software sind fuer den Start genug. Die Lernkurve ist aber steil...
Uwe B. schrieb: > Die Lernkurve ist aber steil. Mal schnell ein einfaches Projekt mit CubeMX zusammenklöppeln, das geht schnell, funktioniert vielleicht sogar, aber lernen tut man dabei nix.
Lysandros ist ein echter Witzbold mit nicht zu unterschätzender Hybris... Referenz-Manual hat über 3300 Seiten SDIO hab ich bis heute nicht am laufen... STM32F401RE wäre schon sportlich genug. Hinweis: Hüte dich vor STM-Flyern mit Schmetterlingen drauf! Runout
Ein paar LED schaden sicher nicht und passende Vorwiderstände. Sonst musst du gleich mal ein CDC Device implementieren, um Feedback vom Controller zu bekommen. Vllt. sogar ein LC-Display mit dazu, die kosten ja nix.
Ich habe so etwas ähnliches für den H743. Dort sind auf dem Board gleich 3 LEDs mit drauf. Die ersten Blinky-Programme gehen auch ohne extra Hardware. USB-Kabel reicht, davon hat man ja eh genug herumfliegen. Die Cube-IDE geht ganz prima, da kann man sogar interaktiv debuggen. Wenn die Blinkys laufen, muss man sehen, in welche Hardware-Richtung man gehen möchte: AD-Verarbeitung. Oder Bus-Programmierung (SPI, I2C). Timer Anwendungen. Dann kauft man passend dazu. ST lieferte bei mir auch einiges an Beispielen mit, gut zum lernen. USB-CDC war z.B. mit dabei. Und letztendlich lernt man auf einem nackten ST mehr, als in der Arduino Kindergartenwelt.
Peter schrieb: > Und letztendlich lernt man auf einem nackten ST mehr, als in der Arduino > Kindergartenwelt. Magst du das näher erläutern? Allein was die Anzahl und Möglichkeiten der Konfigurations- und Timer-Register angeht, was die Register/Fuses für Clock-Sources angeht,... ist ein 8bit-AVR erst einmal deutlich übersichtlicher. Die Arduino IDE ist im Vergleich zu Eclipse schlank und übersichtlich aufgebaut und bietet erst einmal alles, was man als Anfänger benötigt. Ob es nun while(1){} oder loop(){} heißt, macht für die Programmier-Sammel-Erfahrung keinen Unterschied. Die IDE nutzt normales avrgcc. Du kannst deine LED mit zwar mit digitalWrite(LED, 1); einschalten, aber PORTB |= (1<<PORTB1); geht genau so, wie man es mit avrgcc halt macht. Ja, es gibt für viele Dinge Libraries, die mann nutzen kann, die einem ein bisschen Arbeit abnehmen, aber mit der Logik müsste CubeMX für dich auch Kindergartenwelt sein, weil man ja nicht wie echte Männer Bitpopelei auf Fußpilzebene betreibt?
:
Bearbeitet durch User
Sebastian R. schrieb: > Magst du das näher erläutern? Ich habe diverse Leute erlebt, die nicht aus der 'betreuten' Arduino-Welt herausgefunden haben. Wenn man etwas mehr möchte, dann muss man sich mit den unterliegenden Subsystemen beschäftigen. Das muss jetzt nicht über Bitfriemelei sein, denn STM bietet einiges in Set/Get Funktionen an. Aber man muss die Datenblätter lesen und manche Register setzen. Beispiel: Mein STM kann SPI auf 3 verschiedene Arten ansprechen: Polling, Interrupt und DMA Betrieb. STM stellt die Init() Funktionen im Sourcecode zur Verfügung, wo man sich dann auch die Unterschiede anschauen kann. Für einen professionellen Einsatz muss man dann auch die richtige Modi wählen. Das geht nicht, wenn man nur ein paar Blinkys mit DigitalWrite, oder AnalogRead (genaue Funktionsnamen kenne ich nicht) benutzt.
Peter schrieb: > Das geht nicht, wenn man nur ein paar Blinkys mit DigitalWrite, > oder AnalogRead (genaue Funktionsnamen kenne ich nicht) benutzt. Nur die Arduino IDE und das Ökosystem zwingt einen nicht dazu, diese Funktionen zu nutzen. Du kannst normal die AVR-Bibliotheken einbinden (z.B. #include <avr/power.h>) und kannst auch ganz normal die Register manipulieren. Ich nutze die Arduino IDE als schlanke Alternative zu VSCode oder MPLAB. Im Prinzip ist es nur Notepad++ mit avrgcc und avrdude eingebaut. Meine Funktion, um Timer0 beim ATTiny85 in der Arduino IDE zu konfigurieren sieht z.B. so aus. Komplett ohne etwas, das nur mit Arduino geht.
1 | void setupT0() { |
2 | |
3 | // Normal port operation, OC0A/OC0B disconnected, Normal Timer operation
|
4 | TCCR0A = (0 << COM0A1) | (0 << COM0A0) | (0 << COM0B1) | (0 << COM0B0) | (0 << WGM01) | (0 << WGM02); |
5 | |
6 | // Ext. T0 as input. Rising edge
|
7 | TCCR0B = 0; |
8 | TCCR0B = (0 << FOC0A) | (0 << FOC0B) | (0 << WGM02) | (1 << CS02) | (1 << CS01) | (1 << CS00); |
9 | }
|
Genau so, wie man es auch in Atmel Studio oder MPLAB oder eben auch beim STM32 "bare metal" machen würde.
:
Bearbeitet durch User
Sebastian R. schrieb: > Mit einem Porsche das Fahren lernen ist vielleicht etwas ambitioniert, > oder? Naja, der Porsche ist doch bekannt als der am Einfachsten zu fahrende Sportwagen wegen des gutmütigen Fahrwerks. Wer schon programmieren kann und sich auch mit (Digital-)Elektronik auskennt und die Zeit und Energie hat wird mit dem H7 schon klar kommen. Immerhin hat ST eine relativ gute Dokumentation, IDE, Libraries. Mit "Bare Metal" / Registerprogrammieren würd ich sowieso nicht mehr anfangen, sondern direkt mit einem High-Level API. Allerdings ist das Arduino-API da schon einfacher als z.B. die STM32 Cube-APIs. Aber mit vorhandenen Programmierkenntnissen wird es schon gehen. Thomas T. schrieb: > SDIO hab ich bis heute nicht am laufen... Das ist aber bei allen STM32-Varianten identisch. Und die ST-Dokumentation (inkl. Errata!) sowie die SD-Spezifikation enthält eigentlich alle Informationen die man dazu braucht. Schwieriger sind solche Unterfangen bei Controllern und zugehöriger komplexer Software mit wenig Dokumentation. Da muss man dann viele educated guesses machen, und dafür braucht es Erfahrung.
:
Bearbeitet durch User
Wow, OK Vielen Dank für eure Hilfestellung :D Wollte keinen beleidigen, es brauch nicht zu eskalieren. Beste Grüße
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.