Hallo Leute,
ich würde mich gerne mit dem STM32 auseinandersetzen bzw. das ganze mal
in C programmieren.
Tutorials gibts zwar im Netz viele, aber meiner Meinung nach gibts kein
Tutorial, was aufzeigt, was denn die Befehle auch bedeuten.
Das ist genau so, wie wenn ich Tutorials aufzeigen würde, wie man an
einer Konsole etwas darstellt... wie z.B.
...
printf("Erzeuge Ausgabe");
..
ohne den Befehl printf zu erklären.
Von daher gibt es Bücher, oder Skirpts oder ähnliches die für absolute
Anfänger geeignet sind?
Nun ja dach gibt es. nennt sich Reference Manual
Du schaust die im Headerfile an welche Register gesetzt werden und
weitere Infos sind dann im Reference Manual dazu.
@ Sascha W (Gast)
>ohne den Befehl printf zu erklären.
Logisch. Diese Kurse setzen voraus, daß man MINDESTENS die Grundlagen
von C beherrscht, besser noch mehr. Die Kurse erklären nur die
speziellen Eigenschaften des Controllers.
>Von daher gibt es Bücher, oder Skirpts oder ähnliches die für absolute>Anfänger geeignet sind?
Ein Grundlagenbuch für C, davon gibt es viele.
Falk B. schrieb:> @ Sascha W (Gast)>>>ohne den Befehl printf zu erklären.>> Logisch. Diese Kurse setzen voraus, daß man MINDESTENS die Grundlagen> von C beherrscht, besser noch mehr. Die Kurse erklären nur die> speziellen Eigenschaften des Controllers.>>>Von daher gibt es Bücher, oder Skirpts oder ähnliches die für absolute>>Anfänger geeignet sind?>> Ein Grundlagenbuch für C, davon gibt es viele.
C kann ich sehr gut eig. Wohl mein Problem nicht ganz verstanden. Also
hier z.B. wird gezeigt wie man eine LED zum blinken bringt:
// 3 Erster Start: LED einschalten
In diesem Beispiel soll lediglich eine LED per Software eingeschaltet
werden um die Schritte zur Erstellung eines Projekts in CoIDE zu zeigen,
sowie das Flashen mit CoFlash zu testen.
..\main.c
STM32F100RB
#include "stm32f10x_conf.h"
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
SystemInit();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_WriteBit(GPIOC, GPIO_Pin_9, Bit_SET);
while(1)
{
}
}
Ich hätte aber jetzt doch mal eine Erklärung dazu, was denn hier
passiert bzw. was die Befehle denn so heissen!!!
Sascha W schrieb:> ich würde mich gerne mit dem STM32 auseinandersetzen bzw. das ganze mal> in C programmieren.>> Tutorials gibts zwar im Netz viele, aber meiner Meinung nach gibts kein> Tutorial, was aufzeigt, was denn die Befehle auch bedeuten.
Soso. Du stehst also noch ganz am Anfang und bist vorerst
orientierungslos. Tja, da ist erstmal viel lesen angesagt - aber keine
Tutorials, sondern eher Dokumentationen zu den konkreten Chips und zum
Prozessorkern als solchen.
Tutorials sind nach meiner Erfahrung eigentlich immer nur ne Art von
Kochrezept, um zu irgend einem vom Tutorial-Verfasser gesteckten Ziel zu
kommen. Das eigentliche Verstehen der Dinge kommt dort immer zu kurz.
Allerdings sind Referenzmanuals für gewöhnlich auch kein einfach zu
lesendes Buch und sie setzen das Verständnis der Materie voraus - was
dir offenbar bislang fehlt. Also lies und lerne und wenn du ne wirklich
konkrete Frage zu einem konkreten Detail hast, dann stelle sie hier.
Aber erwarte nicht, daß es sowas wie den Nürnberger Trichter für µC
gibt. Jaja, es gibt zwar Firmen, die irgend welche drallen
Hilfsprogramme anbieten und dazu sagen "nehmense dies Programm, das
erzeugt ihren Code von ganz allein, sie brauchen bloß zu lallen." aber
damit ist auch dir im Grunde nicht geholfen.
W.S.
W.S. schrieb:> Allerdings sind Referenzmanuals für gewöhnlich auch kein einfach zu> lesendes Buch und sie setzen das Verständnis der Materie voraus - was> dir offenbar bislang fehlt.
Genau deshalb bringt das m.M.n. Anfängern nichts. Ich habe auch mit
Tutorials und Examples angefangen. Der Blick in die Manuals und
Datasheets kommt dann von alleine und immer öfter. Heute schaue ich
zuallererst ins Manual bevor ich loslege.
Reginald L. schrieb:> W.S. schrieb:>> Allerdings sind Referenzmanuals für gewöhnlich auch kein einfach zu>> lesendes Buch und sie setzen das Verständnis der Materie voraus - was>> dir offenbar bislang fehlt.> Genau deshalb bringt das m.M.n. Anfängern nichts. Ich habe auch mit> Tutorials und Examples angefangen. Der Blick in die Manuals und> Datasheets kommt dann von alleine und immer öfter. Heute schaue ich> zuallererst ins Manual bevor ich loslege.
Und wie haben die angefangen, die in der Prä-Internetzeit bzw.
Prä-Tutorialzeit mit Mikrocontrollern angefangen haben (angenommen
Kenntnisse von Gattern, Transistoren etc. waren vorhanden)?
Gut, die "Mikro"-Controller von heute, wie die größeren STM32F4, sind
z.T. komplexer als damals ganze Homecomputer deren Register und
Assemblerbefehl-Hexcodes man nach einiger Zeit im Schlaf aufsagen
konnte, was bei den heutigen "Datenblättern" mit mehreren 1000 Seiten
nicht möglich aber auch nicht unbedingt nötig ist. Es reicht mit Teilen
anzufangen. Wie werden Pins gesetzt, wie die Datenrichtung, dann geht es
an die anderen Blöcke wie Timer, SPI, I²C, ADC usw. usf.
Hängen bleibt zwar nicht jedes Detail, aber meist ein besseres
Verständnis für die Teile und wie diese im ganzen zusammenhängen. Und
das ist wichtig.
Tutorials zeigen m.M.n. zwar einen schnellen, einfachen Weg zum Ziel,
aber weder alle möglichen noch den oder die optimalen Wege.