Forum: Mikrocontroller und Digitale Elektronik STM32F407 Black und Arduino


von Markus (Gast)


Angehängte Dateien:

Lesenswert?

Das Board wird relativ viel im STM32Arduino Forum benutzt und kostet ca. 
12€.
Hat das hier schon mal jemand verwendet?
Mich würde besonders interessieren, was man mit dem Funkchip machen 
kann.

von Arduinoquäler (Gast)


Lesenswert?

Markus schrieb:
> Hat das hier schon mal jemand verwendet?

Ja. Wenn du die Suchfunktion hier im Forum richtig benutzt wirst
du auch was dazu finden.

Markus schrieb:
> Mich würde besonders interessieren, was man mit dem Funkchip machen
> kann.

Da ist kein "Funkchip" drauf.

Markus schrieb:
> Das Board wird relativ viel im STM32Arduino Forum benutzt und kostet ca.
> 12€.

Wenn du 3 Euro drauflegst bekommst du es aus Deutschland geliefert
und musst nicht warten bis die Chinesen dich du alt und grau werden
lassen.

Markus schrieb:
> STM32F407 Black und Arduino

Da Board hat absolut nichts mit Arduino zu tun.

von STler (Gast)


Lesenswert?

Markus schrieb:
> Das Board wird relativ viel im STM32Arduino Forum benutzt und
> kostet ca.
> 12€.
> Hat das hier schon mal jemand verwendet?


Ja, ich z.B.


> Mich würde besonders interessieren, was man mit dem Funkchip machen
> kann.


Funken, wenn den ein Funkchip auf dem Board wäre...

Ist aber nicht. Du kannst aber für wenig Geld passende 
NRF2401-Platinchen bei aliexpress oder ebay kaufen, die Du auf das Board 
stecken kannst.

Boards mit ziemlich ähnlicher Ausstattung, aber der Möglichkeit, noch 
ein externes RAM von 1MB aufzulöten, gibt es auch bei aliexpress für nur 
einen oder zwei Euro mehr, z.B.:

https://de.aliexpress.com/item/STM32F407ZET6-development-board-M4-STM32F4-core-board-arm-development-board-cortex-M4/32793995387.html?isOrigTitle=true

von Markus (Gast)


Lesenswert?

>Funken, wenn den ein Funkchip auf dem Board wäre...
http://www.ebay.com/itm/142124645773

Hmpf ... da habe ich wohl nicht genau genug gelesen:

Important Product Features:
Onboard: SD card slot
RTC Battery: CR1220
Wireless Communication: NRF2401 Interface

BTW: falsch verstanden ... nämlich drahtloses Interface statt Interface 
zum Drahtlosen ..

Im STM32-Arduino Forum hat gerade einer einen neuen Treiber für den Chip 
geschrieben.
BTW: kann man damit legal funken, oder ist das nur für Bastelzwecke?

>Boards mit ziemlich ähnlicher Ausstattung, aber der Möglichkeit, noch
>ein externes RAM von 1MB aufzulöten, gibt es auch bei aliexpress für nur
>einen oder zwei Euro mehr, z.B.:

Danke für den Tipp.
Warum die den Chip wohl nicht gleich drauf löten?

von Arduinoquäler (Gast)


Lesenswert?

Markus schrieb:
> BTW: kann man damit legal funken, oder ist das nur für Bastelzwecke?

Damit "funkt" jeder "überall", und zwar legal, auf 2.4GHz

von Arduinoquäler (Gast)


Lesenswert?

Markus schrieb:
> Warum die den Chip wohl nicht gleich drauf löten?

Weil nicht jeder grosses externes RAM braucht und das
auch seinen (sehr signifikanten) Preis hat.

von Cyblord -. (cyblord)


Lesenswert?

Arduinoquäler schrieb:
> Markus schrieb:
>> Warum die den Chip wohl nicht gleich drauf löten?
>
> Weil nicht jeder grosses externes RAM braucht und das
> auch seinen (sehr signifikanten) Preis hat.

Und da sage noch einer, dass es keine dummen Fragen gibt. Der hat diesen 
Thread sicher noch nicht gelesen.

von Hans (Gast)


Lesenswert?

Arduinoquäler schrieb:
> Markus schrieb:
>> BTW: kann man damit legal funken, oder ist das nur für Bastelzwecke?
>
> Damit "funkt" jeder "überall", und zwar legal, auf 2.4GHz


Das definitiv nicht.

Die Dinger haben keine allgemeine Zulassung.

73

von Herbert (Gast)


Lesenswert?

>Und da sage noch einer ..
Guck mal, hier hat "stefanus" einen ziemlich guten Beitrag zur Nutzung 
von Arduinos und verschiedener Entwicklungsumgebungen geschrieben:

Beitrag "Re: Vom Arduino zum Mikrocontroller"

Und hier einer einen eher etwas dümmeren Beitrag verfasst:

Beitrag "Re: Arduino - bringt's das ?"

von Markus (Gast)


Lesenswert?

>Die Dinger haben keine allgemeine Zulassung.
Das hat kein Funkmodul, welches in einem Gerät verbaut wird. Die 
Zulassung bekommt immer das Gerät.

Die Frage ist, ob man mit einem NRF2401 das WLAN oder BlueTooth dich 
machen kann.

von Arduinoquäler (Gast)


Lesenswert?

Hans schrieb:
> Die Dinger haben keine allgemeine Zulassung.

Ja stimmt, einen Zulassungs-Stempel habe ich noch auf keinem
NRF24 gesehen.

Auch wurden bisher äquivalente Zertifikate nicht in Papier-
Form oder *.pdf Dateien mitgeliefert.

Meine Fritzbox die auf dem gleichen Frequenzband arbeitet
und mehr Leistung ausstrahlt ist also knapp am Rande der
Legalität .... oder vielleicht schon drüber ....

von Cyblord -. (cyblord)


Lesenswert?

Hans schrieb:

>
> Das definitiv nicht.
>
> Die Dinger haben keine allgemeine Zulassung.
>
> 73

Typisch Amateuerfunker.... nuff said

(wie lautet der Code für "Du mich auch"?)

: Bearbeitet durch User
von Otto (Gast)


Lesenswert?

Hans schrieb:
> Arduinoquäler schrieb:
>> Markus schrieb:
>>> BTW: kann man damit legal funken, oder ist das nur für Bastelzwecke?
>>
>> Damit "funkt" jeder "überall", und zwar legal, auf 2.4GHz
>
>
> Das definitiv nicht.
>
> Die Dinger haben keine allgemeine Zulassung.
>
> 73

Na und?

1.79

von STler (Gast)


Lesenswert?

Arduinoquäler schrieb:
> Markus schrieb:
>> Warum die den Chip wohl nicht gleich drauf löten?
>
> Weil nicht jeder grosses externes RAM braucht und das
> auch seinen (sehr signifikanten) Preis hat.


Naja, um die zwei Euro in Einzelstückzahlen machen den Braten auch nicht 
mehr fett.
Ich rate jedenfalls zu so einem Board.

von Arduinoquäler (Gast)


Lesenswert?

STler schrieb:
> Naja, um die zwei Euro in Einzelstückzahlen machen den Braten auch nicht
> mehr fett.

So so ....

IS61WV51216BLL-10TLI  bei um die 10 Euro
in Sückzahlen ab 100

von Markus (Gast)


Lesenswert?

>Naja, um die zwei Euro in Einzelstückzahlen machen den Braten auch nicht mehr 
fett.
>Ich rate jedenfalls zu so einem Board.

Wenn, dann wuerde ich nur bestueckt kaufen. Habe aber keins gefunden.

von Markus (Gast)


Lesenswert?

Apropos SDRAM: Es gäbe ja auch das STM32F429 Discovery mit 8MB-Ram:
http://www.st.com/en/evaluation-tools/32f429idiscovery.html

Das Board ist zwar schon in STM32GENERIC-Arduino angelegt, aber es fehlt 
leider noch die Unterstützung für die Komponenten wie Display usw.

von Markus (Gast)


Angehängte Dateien:

Lesenswert?

Autor: Arduinoquäler (Gast)
>Da Board hat absolut nichts mit Arduino zu tun.

Da bist Du nicht ganz auf dem neuesten Stand.

von Markus (Gast)


Lesenswert?

>Wenn du 3 Euro drauflegst bekommst du es aus Deutschland geliefert
>und musst nicht warten bis die Chinesen dich du alt und grau werden
>lassen.

Das schnellste scheint das hier zu sein:
http://www.ebay.de/itm/Core407V-STM32F407VET6-STM32-Cortex-M4-Development-Board-Mainboard-Module-Kit-/401294298420?hash=item5d6f010d34:g:qcwAAOSw-kdX0mup

Kommt angeblich aus Frankfurt und braucht trotzdem knapp 14 Tage.Daniel

von Markus (Gast)


Lesenswert?

Das Board gefällt mir immer besser.
Wenn ich es richtig lese, hat es 16MBit serielles Flash.
http://wiki.stm32duino.com/index.php?title=STM32F407
Das wäre früher ein ausgewachsener PC gewesen.

von Arduinoquäler (Gast)


Angehängte Dateien:

Lesenswert?

Markus schrieb:
> Das Board gefällt mir immer besser.

Bisschen löten und schon kann man mit dem Display spielen ....

von Arduinoquäler (Gast)


Lesenswert?

Hatte es schon mal gepostet aber nicht gleich gefunden....

Beitrag "stm32_f4ve lcd für 16x2-Stiftleiste"

von Markus (Gast)


Lesenswert?

Ich möchte lieber weniger Kabel.
Dazu wäre ein ILI9341 mit SPI.

Beitrag "Re: 2.2'TFT ILI9340 und Arduino"

von Rene K. (xdraconix)


Lesenswert?

Markus schrieb:
> Autor: Arduinoquäler (Gast)
>>Da Board hat absolut nichts mit Arduino zu tun.
>
> Da bist Du nicht ganz auf dem neuesten Stand.

Er hat trotzdem Recht... Das Board hat erstmal rein garnichts mit 
Arduino zu tun. Das es dort nen ein Hardewarewrapper gibt ist ja in 
Ordnung, den gibts ja auch für 1000 verschiedene andere Boards die mit 
Ardunio rein garnichts zu tun haben.

von Markus (Gast)


Lesenswert?

> den gibts ja auch für 1000 verschiedene andere Boards die mit
> Ardunio rein garnichts zu tun haben.

Das ist so ähnlich wie wenn Du sagen würdest, die Südamerikaner haben 
mit Spanisch rein gar nichts zu tun.

von Rene K. (xdraconix)


Lesenswert?

Markus schrieb:
>> den gibts ja auch für 1000 verschiedene andere Boards die mit
>> Ardunio rein garnichts zu tun haben.
>
> Das ist so ähnlich wie wenn Du sagen würdest, die Südamerikaner haben
> mit Spanisch rein gar nichts zu tun.

Nein, das ist Quatsch. Denn die Spanier haben damals die Sprache ins 
Land gebracht. Das ist ein Statement was völlig fehl ist. Denn das würde 
heißen, das die "1000 Geräte" für Arduino entwickelt wurden, sind sie 
aber nun mal nicht.

Die AVR sind für ASM und C ausgelegt wurden, ebenso die obige STM 
Platine.



Aber um es in deinem dämlichen Vergleich zu lassen: Das wäre so als wenn 
den Südamerikanern die englische Sprache aufgezwungen würde: Das geht 
zwar, aber alle verstehen nur die Hälfte, und ein Gespräch würde dann 
doppelt so lange benötigen! ;-)

von Markus (Gast)


Lesenswert?

>Die AVR sind für ASM und C ausgelegt wurden, ebenso die obige STM
>Platine.

Vielleicht hörst Du jetzt lieber auf, Du weißt nämlich gar nicht was 
"Arduino" bedeutet.

von Markus (Gast)


Lesenswert?

Damit es nicht so unklar bleibt:
https://de.wikipedia.org/wiki/Arduino_(Plattform)

von Martin K. (maart)


Lesenswert?

Rene K. schrieb:
> Aber um es in deinem dämlichen Vergleich zu lassen: Das wäre so als wenn
> den Südamerikanern die englische Sprache aufgezwungen würde: Das geht
> zwar, aber alle verstehen nur die Hälfte, und ein Gespräch würde dann
> doppelt so lange benötigen! ;-)

Hm. Ich habe einen PC. Ist der jetzt für Windows entwickelt worden, oder 
doch eher für Linux?
Ich weiß es nicht.......

von Markus (Gast)


Lesenswert?


von Markus (Gast)


Lesenswert?

>Hm. Ich habe einen PC. Ist der jetzt für Windows entwickelt worden, oder
>doch eher für Linux?
>Ich weiß es nicht.......

Da liegt glaube ich das Problem: Er verwechselt die Platine mit dem 
Atmega328 mit Arduino.

von Rene K. (xdraconix)


Lesenswert?

Mir ist völlig bewusst was "Arduino" ist - es ist ein Framework, welches 
zwar auf vielen µC läuft, aber das halt immer mit der Prämisse ein 
riesen Heap, bedingt durch die Kompatibilität, hinter sich her zu 
schleifen. Welches ein µC enormst in seiner Leistungsfähigkeit 
beschränkt.

Benchmarks gibt es hier mehr als genügend, hatten letzte Woche erst 
jemanden hier der PinToggling, Mul8, Mul16, Mul32 und ganz lustig wurde 
der Benchmark bei Div - dann wenn die µC entweder einen HW-Div hatten 
und Ardunio ihnen eine Soft-Div aufzwang obwohl der GCC dies bestimmt 
gerne gemacht hätte.

Ich "muss" teilweise auch die Arduino IDE nutzen, und finde es grausam. 
Aber das alles tut hier nichts zur Sache und das sind auch persönliche 
Meinungen. Fakt ist eins:


Das STM32F407 Black wurde nicht für Arduino entwickelt - ja nichtmal die 
Arduino Header wie es die Nucleos von STM haben sind auf dem STM32F407 
Black vorhanden.

DAS ist die einzigste Aussage die man sich hier im Thread zu diesem 
Thema annehmen sollte, fertig. Die von STM empfohlene Software ist 
SW4STM, Keil und CubeMX.

Markus schrieb:
>>Hm. Ich habe einen PC. Ist der jetzt für Windows entwickelt
> worden, oder
>>doch eher für Linux?
>>Ich weiß es nicht.......
>
> Da liegt glaube ich das Problem: Er verwechselt die Platine mit dem
> Atmega328 mit Arduino.

Das ist wahrscheinlich dein Problem, das du wegen Ardunio nichts anderes 
kennst als dem Mega328 - welchen ich im übrigen noch nicht unter meinen 
Finger hatte - nur den Mega16, Mega168, Mega32, Mega32u4 aus dieser 
Reihe.

Tut mir leid, das du nicht weiter als dieses Ardunio Gedöns kommst und 
über dessen Tellerrand hinausschaust. Arduino ist etwas für Menschen die 
möglichst schnell an ihr Ziel kommen wollen, mit möglichst wenig 
Aufwand, die Lötkolben vorne an der Spitze festhalten. Und das ist auch 
gut so. Aber diese Leute sollten sich nicht vermessen zu glauben, andere 
die sämtlichen Register einer Reihe aus dem Kopf aufsagen können, ein 
FFT auf einem Tiny10 zum laufen kriegen, und TQFP mit fünf Bier und nem 
Feuerzeug einlöten zu beurteilen.

Wenn du wegen eines digitalWrite(LED,1) statt eines 
GPIOA_SetPin(GPIOA,GPIO_Pin_1) auf ca. 30% der Geschwindigkeit 
verzichtest, gerne doch... Aber mach dann andere, die scheinbar mehr 
Ahnung von µCs haben als du bitte nicht dumm - Dankeschön.

: Bearbeitet durch User
von Markus (Gast)


Lesenswert?

>Fakt ist eins:
>Das STM32F407 Black wurde nicht für Arduino entwickelt

Hat das hier im Thread irgend jemand behauptet?

von Zweifler (Gast)


Lesenswert?

Rene K. schrieb:
> Arduino ist etwas für Menschen die
> möglichst schnell an ihr Ziel kommen wollen, mit möglichst wenig
> Aufwand, die Lötkolben vorne an der Spitze festhalten. Und das ist auch
> gut so. Aber diese Leute sollten sich nicht vermessen zu glauben, andere
> die sämtlichen Register einer Reihe aus dem Kopf aufsagen können, ein
> FFT auf einem Tiny10 zum laufen kriegen, und TQFP mit fünf Bier und nem
> Feuerzeug einlöten zu beurteilen.

Abgesehen davon, dass das alles Quatsch ist, bist Du ein bornierter 
Angeber.

Einfaches Gegenbeispiel:
Ich löte freihand locker 0602 und TQFP100 mit 0,5mm (nicht mit dem 
Feuerzeug, das will ich gern von Dir sehen), programmiere mit EmBitz, 
Coocox und Co. und nutze trotzdem Arduino-Hard- und Software, wenn es 
passt. Die reale Welt ist äußerst vielfältig und ich bin flexibel, Du 
offensichtlich nicht.

von Rene K. (xdraconix)


Lesenswert?

Zweifler schrieb:
> nutze trotzdem Arduino-Hard- und Software, wenn es
> passt. Die reale Welt ist äußerst vielfältig und ich bin flexibel, Du
> offensichtlich nicht.

siehe:

Rene K. schrieb:
> Ich "muss" teilweise auch die Arduino IDE nutzen, und finde es grausam.

Desweiteren nutze ich auch sehr oft den Arduino Pro Micro Clone 
(Leonoardo) - einzig aus dem Grund das man so günstig an keinen Mega32u4 
dran kommt - und schon garnicht fix und fertig.

btw.. CooCox ist kein Pferd das geritten werden will, es ist bereits 
(leider) tot.

Zweifler schrieb:
> (nicht mit dem
> Feuerzeug, das will ich gern von Dir sehen)

Ich habe nicht gesagt das ICH das kann, aber er (Markus) urteilt über 
diese Leute - das er "borniert" ist, sieht man daran das er einfach das 
Argument "das STM32F407 Black Board hat erstmal nichts mit Arduino zu 
tun" akzeptiert und diejenigen die dies behaupten angeht. btw. ist 
"Arduinoquäler" hier im Forum für mich die Ansprech- und 
Vertrauensperson wenn es um das Thema Arduino geht, er sieht die ganze 
Sache im übrigen immer Differenziert und sieht nicht nur die "Ardunio 
Welt".

von Markus (Gast)


Lesenswert?

>Ich habe nicht gesagt das ICH das kann, aber er (Markus) urteilt über
>diese Leute -
In diesem Thread sehe ich jetzt keine einzige Zeile in der ich über 
Leute geurteilt hätte.

Hattest Du schon immer so große Probleme mit dem Textverständnis?

von Markus (Gast)


Lesenswert?

Hurra,

mein Board ist heute angekommen. Wenn man es ansteckt, blinkt es, aber 
die USB-Schnittstelle meldet "Treiber nicht erkannt".

Hat das Board schon mal jemand in Betrieb genommen?

von Arduinoquäler (Gast)


Lesenswert?

Markus schrieb:
> aber die USB-Schnittstelle meldet "Treiber nicht erkannt".

Ja, du hast ja auch kein Byte USB-Software (Firmware) dafür
auf den Controller geladen.

Markus schrieb:
> Hat das Board schon mal jemand in Betrieb genommen?

Ja.

von Markus (Gast)


Lesenswert?

>Ja, du hast ja auch kein Byte USB-Software (Firmware) dafür
>auf den Controller geladen.

Irgendwo meine ich gelesen zu haben, dass das Board mit vorinstallierter 
Software ausgeliefert werden soll, sodass es als "Mass Storage Device" 
auftaucht.

von Ui (Gast)


Lesenswert?

Markus schrieb:
> Irgendwo meine ich gelesen zu haben, dass das Board mit vorinstallierter
> Software ausgeliefert werden soll, sodass es als "Mass Storage Device"
> auftaucht.

Bezweifel ich stark - trotzdem eines meiner Lieblingsboards. Einziger 
Schönheitsfehler (für mich): Es gibt keinen Kontakt zur Erkennung der 
SD-Karte

von Markus (Gast)


Lesenswert?

Das Board scheint auch ganz gut für MicroPython geeignet:
https://forum.micropython.org/viewtopic.php?t=3086

Aber eigentlich suche ich ein Bild zum Anschluss des ST-Link.

von Markus (Gast)


Angehängte Dateien:

Lesenswert?

+-----+
  | 1  2|  Pin 1 = 3v3
  | 3  4|  Pin 4 = GND
  | 5  6|
 _| 7  8|  Pin 7 = SWDIO
|   9 10|  Pin 9 = SWCLK
|_ 11 12|
  |13 14|
  |15 16|
  |17 18|
  |19 20|
  +-----+

Wunderbar, zusammen mit dem Bild und dem JTAG-Connector Anschluss habe 
ich das Blink-Example geflasht: funktioniert ;-)

von Arduinoquäler (Gast)


Lesenswert?

Markus schrieb:
> Irgendwo meine ich gelesen zu haben, dass das Board mit vorinstallierter
> Software ausgeliefert werden soll, sodass es als "Mass Storage Device"
> auftaucht.

Nein.

von Markus (Gast)


Lesenswert?

Super, das analogRead-Example funktioniert auch, wenn man A0 in PA0 
umbenennt:
1
// the setup routine runs once when you press reset:
2
void setup() {
3
  // initialize serial communication at 9600 bits per second:
4
  Serial.begin(115200);
5
}
6
7
// the loop routine runs over and over again forever:
8
void loop() {
9
  // read the input on analog pin 0:
10
  int sensorValue = analogRead(PA0);
11
  // print out the value you read:
12
  Serial.println(sensorValue);
13
  delay(1);        // delay in between reads for stability
14
}

Nach dem flashen erzeugt die Arduino-Firmware einen virtuellen COM-Port 
am USB-Anschluss.

von Arduinoquäler (Gast)


Lesenswert?

Markus schrieb:
> Super, das analogRead-Example funktioniert auch, wenn man A0 in PA0
> umbenennt:

Das wäre natürlich mit einem Arduino Uno oder Arduino Nano niemals
möglich gewesen.

Markus schrieb:
> Nach dem flashen erzeugt die Arduino-Firmware einen virtuellen COM-Port
> am USB-Anschluss.

Welch ein Wahnsinn. Man braucht eine komplexe 32-Bit Maschine
um einen Analogwert mittels ADC zu messen.

Ich sags ja: Das wäre natürlich mit einem Arduino Uno niemals
möglich gewesen.

Dazu braucht man schon die Black Mamba.

von Markus (Gast)


Lesenswert?

>Welch ein Wahnsinn. Man braucht eine komplexe 32-Bit Maschine
>um einen Analogwert mittels ADC zu messen.
>Ich sags ja: Das wäre natürlich mit einem Arduino Uno niemals
>möglich gewesen.
>Dazu braucht man schon die Black Mamba.

[x] Du hast möglicherweise schon einmal einen Arduino UNO verwendet
[ ] Du kennst den Unterschied von Beispiel und Anwendung
[ ] Du kannst eine notwendige von einer hinreichenden Bedingung 
unterscheiden

von Arduinoquäler (Gast)


Lesenswert?

Diese Fragebögen sind mir zu kompliziert.

Mir fehlt die Anleitung dazu. Gibt es einen Hilfefunktion,
vielleicht so wie bei Arduino.cc?

von Markus (Gast)


Angehängte Dateien:

Lesenswert?

Das Board hat doch einige Anschlüsse.
Die Frage ist: Wo einen I2S-Verstärker anschließen?

von Arduinoquäler (Gast)


Lesenswert?

Markus schrieb:
> Die Frage ist: Wo einen I2S-Verstärker anschließen?

Du hast dich ja schon ausgiebig mit dem Thema beschäftigt:

Beitrag "I2S Verstärker"

Also kannst du dir die Antwort sicher selbst geben.

Warscheinlich funktioniert es nicht, das geht nur mit Arduino Lib.

von Markus (Gast)


Lesenswert?

Hmm, die I2S scheint an SPI3 zu hängen. Leider sind die Pins auf dem 
Board etwas durcheinander geroutet:

http://wiki.stm32duino.com/index.php?title=STM32F407

von Markus (Gast)


Lesenswert?

So der Adafruit I2S Verstärker läuft auch.
Ich komme hier aber nicht über eine Maximalamplitude von 1/4 der 16 Bit 
ohne dass der Lautsprecher übersteuert.

von Markus (Gast)


Angehängte Dateien:

Lesenswert?

Hier der Anschluss des STLINK-V2 an das BlackV407VE Board, damit man es 
einfacher hat.

von Markus (Gast)


Lesenswert?

UI schrieb:
>Bezweifel ich stark - trotzdem eines meiner Lieblingsboards. Einziger
>Schönheitsfehler (für mich): Es gibt keinen Kontakt zur Erkennung der
>SD-Karte

Ich frage mich, ob das ein Problem durch "zerschießen" der SD-Karte 
geben könnte?

von Oje (Gast)


Lesenswert?

Habe diese Woche das schwarze Board mit dem F407ZET und den Pads für das 
SRAM bekommen. Dort ist in der Tat eine Software drauf mit der sich das 
Board als Mass-storage meldet.

Original ist ein is62wv51216bll als SRAM vorgesehen. Spricht was gegen 
ein is61wv51216bll? Nach meinen Infos ist der is61wv51216bll lediglich 
schneller.

von chris_ (Gast)


Lesenswert?

>Habe diese Woche das schwarze Board mit dem F407ZET und den Pads für das
>SRAM bekommen.

Sehr schön. Ich habe auch noch mal eines bestellt, aber ohne das RAM.
Könntest Du den Link posten, wo man das Board mit RAM bekommt?

>Dort ist in der Tat eine Software drauf mit der sich das
>Board als Mass-storage meldet.

Auf meinem Board war nichts drauf. Beim Board war ein USB-Kabel und 
PIN-Buchsenkabel dabei. Insofern könnte man erwarten, dass es durch 
einfaches Anstecken funktioniert. Aber egal, ich habe es dann mit dem 
ST-LINK benutzt.
Ich habe noch mal eines bestellt und bin gespannt, ob dort etwas 
vorinstalliert ist.

Mit welcher Entwicklungsumgebung willst Du das Board benutzen?

von Oje (Gast)


Lesenswert?

Ich verwende VisualGDB

von chris_ (Gast)


Lesenswert?

>dort ist in der Tat eine Software drauf mit der sich das
>Board als Mass-storage meldet.

Bei mir ist das nächste Board angekommen ( wieder eines ohne 
RAM-Extension ) . Beim Anstecken blinken die LEDs, also ist ein 
Blink-Testprogramm drauf.
Beim Einstecken meldet Windows allerdings "USB-Gerät nicht erkannt". Das 
scheint ein Unterschied zu Deinem Board zu sein.

Es aber egal, ich werde es sowieso mit dem ST-Link programmieren.

von Oje (Gast)


Lesenswert?


von Markus (Gast)


Angehängte Dateien:

Lesenswert?

Hier scheint es ein Display zu geben, das direkt auf das STM32F407 Board 
passt:
https://ru.aliexpress.com/item/3-2-inch-TFT-LCD-screen-with-resistive-touch-screens-ILI9341-display-module/32662835059.html?spm=2114.10010208.1000016.1.RGnYFD&isOrigTitle=true

Allerdings ist der Versender in Russland, ob das wohl bei uns ankommt?

von Christopher J. (christopher_j23)


Lesenswert?

Das hatte ich letztens auch vom Chinesen aus China gesehen. Hab zwar den 
Link nicht mehr aber kannst ja mal suchen.

von Markus (Gast)


Lesenswert?


von grundschüler (Gast)


Lesenswert?

geil, war gerade dabei, einen adapter für arduino-tft zu löten...

von Markus (Gast)


Lesenswert?

Das Problem ist nur: wenn man das Display jetzt bestellt, muss man 
mindestens 3 Wochen warten.

von DraconiX (Gast)


Lesenswert?

Markus schrieb:
> Das Problem ist nur: wenn man das Display jetzt bestellt, muss man
> mindestens 3 Wochen warten.

Früher (tm) hat man sich ein Auto bestellt und dann 12 Jahre darauf 
gewartet. ;-)

Drei Wochen ist doch völlig okay, deswegen extra ein "Adapter" bauen 
finde ich dann etwas Sinnbefreit. Vor allem darf man den Preis auch 
nicht außer Acht lassen. Da bestellt man sich dann sowieso gleich 
mehrere.

von Markus (Gast)


Lesenswert?

Wie schließt man das nrf24l01 an das STM32F407 Board an?

Ich finde im Moment nur Beispiele für normale Arduino-Shields:
https://forum.arduino.cc/index.php?topic=421081.0

von Arduinoquäler (Gast)


Angehängte Dateien:

Lesenswert?

Markus schrieb:
> Wie schließt man das nrf24l01 an das STM32F407 Board an?

Ja ich weiss, das ist nicht ganz einfach. Und nicht jeder
hat dieses tiefgreifende Wissen um den Anschluss korrekt
durchzuführen, das ist einfach manchmal zu schwierig, viele
Leute fühlen sich damit echt überfordert.

Ich selbst habe auch lange überlegen müssen und bin nach
mehrmonatigen Experimenten zu folgendem Anschlussschema
gekommen.

Siehe Anhang.

von Christopher J. (christopher_j23)


Lesenswert?

Ui schrieb:
> Bezweifel ich stark - trotzdem eines meiner Lieblingsboards. Einziger
> Schönheitsfehler (für mich): Es gibt keinen Kontakt zur Erkennung der
> SD-Karte

Da die Chinesen bei dem microSD-Slot ja scheinbar geizig mit den Pins 
umgegangen sind würde mich mal brennend interessieren ob der 
microSD-Slot wenigstens über 4-Bit SDIO angebunden ist.

von Dumpfbacke (Gast)


Lesenswert?

Christopher J. schrieb:
> Da die Chinesen bei dem microSD-Slot ja scheinbar geizig mit den Pins
> umgegangen sind würde mich mal brennend interessieren ob der
> microSD-Slot wenigstens über 4-Bit SDIO angebunden ist.

Deinen Ausführungen entnehme ich dass du zu faul oder unfähig
bist des Schaltplan des Boards zu lesen und zu interpretieren.

von Markus (Gast)


Lesenswert?

Hallo Christopher,
Der SD-Kartenslot ist 4bittig.
Fuer den Arduinotreiber haben sich die Kontributoren zum Arduino 
STM32GENERIC mehrere Wochen den Kopf zerbrochen und er ist ziemlich 
geschwindigkeitsoptimiert.

von Christopher J. (christopher_j23)


Lesenswert?

Markus schrieb:
> Hallo Christopher,
> Der SD-Kartenslot ist 4bittig.

Danke.

Dumpfbacke schrieb:
> Deinen Ausführungen entnehme ich dass du zu faul oder unfähig
> bist des Schaltplan des Boards zu lesen und zu interpretieren.

Nein, weder zu faul noch zu unfähig den Schaltplan zu lesen aber zu 
unfähig den Schaltplan zu finden aber so wie du hier rumpöbelst scheinst 
du dich ja bestens auszukennen. Also wo ist denn jetzt der Schaltplan?

von Dumpfbacke (Gast)


Lesenswert?

Christopher J. schrieb:
> Also wo ist denn jetzt der Schaltplan?

Suche stm32f407vet6 schematic

von Christopher J. (christopher_j23)


Lesenswert?

Dumpfbacke schrieb:
> Suche stm32f407vet6 schematic

Super Idee aber mit so einem dermaßen genauen Suchbegriff ist Google 
völlig überfordert. Ich hätte jetzt schon mal einen Link von dir 
erwartet, dann wäre wenigstens irgendwas von deinen Beiträgen etwas Wert 
gewesen.

Hab es trotzdem mit manueller Suche auf der STM32duino Seite gefunden 
(hatte ich beim ersten mal übersehen), falls es noch jemanden 
interessiert:
http://wiki.stm32duino.com/images/5/5c/STM32_F4VE_SCHEMATIC.PDF

von Dumpfbacke (Gast)


Lesenswert?

Christopher J. schrieb:
> Super Idee aber mit so einem dermaßen genauen Suchbegriff ist Google
> völlig überfordert.

Nö.

Offensichtlich bist Du überfordert. Aber das hast du
ja schon vorher bewiesen.

Das erste Bild das g. liefert ist der Schaltplan zu
genau diesem Modul.

von Christopher J. (christopher_j23)



Lesenswert?

Dumpfbacke schrieb:
> Christopher J. schrieb:
>> Super Idee aber mit so einem dermaßen genauen Suchbegriff ist Google
>> völlig überfordert.
>
> Nö.
>
> Offensichtlich bist Du überfordert. Aber das hast du
> ja schon vorher bewiesen.
>
> Das erste Bild das g. liefert ist der Schaltplan zu
> genau diesem Modul.

Ja mag sein, dass das erste Bild genau das liefert, allerdings mit der 
Bezeichnung von einem völlig anderen Board. Jeder der weiß, dass es sich 
bei dem VCC-GND STM32F407VET6 um ein völlig anderes Board handelt (und 
der nicht deine hellseherischen Fertigkeiten besitzt), wird davon 
ausgehen, genau da nicht den richtigen Schaltplan zu finden (sondern 
den von einem völlig anderen Board).

Wo war jetzt die Schwierigkeit auf das erste Bild hinzuweisen, mit dem 
Hinweis den falschen Titel zu ignorieren? Offensichtlich bist du ja was 
Pöbeleien angeht durchaus eifrig am schreiben. Sehr traurig wie hier 
manche Leute ihre Zeit verplempern nur um andere herunterzuputzen.

von Marcus (Gast)


Lesenswert?

Ein kleines Einstein Zitat:
"Zwei Dinge sind unendlich: Das Universum und die Dummheit der Menschen. 
Aber beim Universum bin ich mir noch nicht so sicher"

Von daher gilt: Eine Dumpfbacke vergeht, dafür eine neue entsteht.
Ich denke der Arduinoquäler hat den Nick auf Dumpfbacke geändert, was 
allerdings auch viel passender ist.

Christopher: Ignoriere die Dumpfbacke, er ist ein Troll und will hier im 
wesentlichen den Thread versauen, damit er beendet wird. Ich weiß es ist 
hart, aber betrachte das Ganze als eine Art Zen-Übung sonst treibt dich 
der Typ zum Wahnsinn.
Noch ein kleiner Tipp: nur eine Dumpfbacke weiß heutzutage nicht, dass 
Google Ergebnisse kontextabhängig sind.

von grundschüler (Gast)


Lesenswert?

habe das ili9341-tft jetzt bekommen. Wäre schön, wenn jemand den 
lowlevel-code für dieses tft hier einstellen würde.

von Markus (Gast)


Lesenswert?

Welches hast Du, das parallele oder ein serielles?

von grundschüler (Gast)


Lesenswert?

Markus schrieb:
> Welches hast Du, das parallele oder ein serielles?

16bit parallel, passend zum TFT-header...

von C. W. (chefkoch)


Lesenswert?

Ich persönlich habe das ganze per CubeMX, Stemwin und der Initsequenz 
aus der Adafruit Lib ziemlich schnell am Rennen gehabt.

von grundschüler (Gast)


Lesenswert?

C. W. schrieb:
> ziemlich schnell am Rennen gehabt

schön. Stellst du den code zur Verfügung?

von Markus (Gast)


Lesenswert?

Ich selbst habe nur serielle ILI9341 verwendet. Aber Du könntest mal im 
STM32duino Forum fragen. Ich könnte mir vorstellen, dass dort jemand 
einen Treiber hat.

von C. W. (chefkoch)


Lesenswert?

Für welches der Boards? 407VE oder ZE?

von grundschüler (Gast)


Lesenswert?

C. W. schrieb:
=> 407VE

Habe alten LPC-code gefunden. Den müsste ich umbasteln. Problem ist, die 
Datenpins liegen nicht hintereinander. Richtig wäre es daher, das ganze 
über FSMC anzuschließen. Da wäre ich aber auf Beispielcode angewiesen.

von Markus (Gast)


Lesenswert?


von C. W. (chefkoch)


Angehängte Dateien:

Lesenswert?

Habe die Bins auch noch dazu gepackt. Bis auf die StemwinLib sind alles 
Files  inklusive CMSIS und HAL dabei.

von grundschüler (Gast)


Lesenswert?

Danke für den link und den code. Das hilft weiter.

von Harry L. (mysth)


Lesenswert?

Ich spiel auch gerade mit dem Board und dem Aufsteck-Display herum, aber 
irgendwie gelingt mir der Zugriff über das FSMC-Interface nicht.
Lt. Schaltbild sollte das Display in Bank0 abgebildet sein, und A18 als 
D/C-Leitung verwendet.

Daraus hab ich gefolgert:
1
#define LCD_REG              (*((volatile uint16_t *) 0x60000000))     /* DC = 0 */
2
#define LCD_RAM              (*((volatile uint16_t *) 0x60040000))     /* DC = 1 */

Meine Initialisierung sieht so aus:
1
/* FSMC initialization function */
2
static void MX_FSMC_Init(void)
3
{
4
  FSMC_NORSRAM_TimingTypeDef Timing;
5
6
  /** Perform the SRAM1 memory initialization sequence
7
  */
8
  hsram1.Instance = FSMC_NORSRAM_DEVICE;
9
  hsram1.Extended = FSMC_NORSRAM_EXTENDED_DEVICE;
10
  /* hsram1.Init */
11
  hsram1.Init.NSBank = FSMC_NORSRAM_BANK1;
12
  hsram1.Init.DataAddressMux = FSMC_DATA_ADDRESS_MUX_DISABLE;
13
  hsram1.Init.MemoryType = FSMC_MEMORY_TYPE_SRAM;
14
  hsram1.Init.MemoryDataWidth = FSMC_NORSRAM_MEM_BUS_WIDTH_16;
15
  hsram1.Init.BurstAccessMode = FSMC_BURST_ACCESS_MODE_DISABLE;
16
  hsram1.Init.WaitSignalPolarity = FSMC_WAIT_SIGNAL_POLARITY_LOW;
17
  hsram1.Init.WrapMode = FSMC_WRAP_MODE_DISABLE;
18
  hsram1.Init.WaitSignalActive = FSMC_WAIT_TIMING_BEFORE_WS;
19
  hsram1.Init.WriteOperation = FSMC_WRITE_OPERATION_ENABLE;
20
  hsram1.Init.WaitSignal = FSMC_WAIT_SIGNAL_DISABLE;
21
  hsram1.Init.ExtendedMode = FSMC_EXTENDED_MODE_DISABLE;
22
  hsram1.Init.AsynchronousWait = FSMC_ASYNCHRONOUS_WAIT_DISABLE;
23
  hsram1.Init.WriteBurst = FSMC_WRITE_BURST_DISABLE;
24
  hsram1.Init.PageSize = FSMC_PAGE_SIZE_NONE;
25
  /* Timing */
26
  Timing.AddressSetupTime = 15;
27
  Timing.AddressHoldTime = 15;
28
  Timing.DataSetupTime = 255;
29
  Timing.BusTurnAroundDuration = 15;
30
  Timing.CLKDivision = 16;
31
  Timing.DataLatency = 17;
32
  Timing.AccessMode = FSMC_ACCESS_MODE_A;
33
  /* ExtTiming */
34
35
  if (HAL_SRAM_Init(&hsram1, &Timing, NULL) != HAL_OK)
36
  {
37
    _Error_Handler(__FILE__, __LINE__);
38
  }
39
40
}

Hat jemand eine Idee, was ich hier falsch mache?

von Arduinoquäler (Gast)


Lesenswert?

Meinen bescheidenen Erfahrungen nach wäre auf dem Core407V Board
1
#define LCD_RAM     (*((volatile uint16_t *) 0x60080000))     /* DC = 1 */

anzusetzen.

von Harry L. (mysth)


Lesenswert?

Arduinoquäler schrieb:
> Meinen bescheidenen Erfahrungen nach wäre auf dem Core407V Board
>
>
1
> #define LCD_RAM     (*((volatile uint16_t *) 0x60080000))     /* DC = 1 
2
> */
3
>
>
> anzusetzen.

Werde ich probieren, aber das wäre ja dann A19...oder?

von Arduinoquäler (Gast)


Lesenswert?

Harry L. schrieb:
> if (HAL_SRAM_Init(&hsram1, &Timing, NULL) != HAL_OK)
>   {
>     _Error_Handler(_FILE_, _LINE_);
>   }

Ich verwende kein HAL, daher kann ich nur raten. Unter der SPL
muss man die entsprechende Speicherbank auch noch enablen.
1
  //  Enable Bank 1 / PSRAM 1
2
  FSMC_NORSRAMCmd (FSMC_Bank1_NORSRAM1, ENABLE);
3
  // -----------------------------------^^^^^^^^

Vielleicht ist das in der HAL auch so ....

von Arduinoquäler (Gast)


Lesenswert?

Harry L. schrieb:
> aber das wäre ja dann A19...oder?

Die Bits richtig abzuzählen überlasse ich dir.

Die übliche Zählweise ist Bit 0...31

von Harry L. (mysth)


Lesenswert?

Arduinoquäler schrieb:
> Harry L. schrieb:
>> aber das wäre ja dann A19...oder?
>
> Die Bits richtig abzuzählen überlasse ich dir.
>
> Die übliche Zählweise ist Bit 0...31

Eben!
Bit16 -> 0x00010000
Bit17 -> 0x00020000
Bit18 -> 0x00040000
Bit19 -> 0x00080000
...

von Arduinoquäler (Gast)


Lesenswert?

Es gibt noch einen Faktor 2 wegen 16-Bit Zugriffen.

Bei einem Byte-Zugriff wird mit den Leitungen LOWB und UPPB
unterschieden was aber beim Display nicht gemacht wird.

von Markus (Gast)


Angehängte Dateien:

Lesenswert?

>Werde ich probieren, aber das wäre ja dann A19...oder?

Ist das der richtige Anschlussplan?

von Arduinoquäler (Gast)


Lesenswert?

Markus schrieb:
> Ist das der richtige Anschlussplan?

Nö. Der richtige hat keine so gelben Kästchen.

von Markus (Gast)


Lesenswert?

>Nö. Der richtige hat keine so gelben Kästchen.

Ach, sonst wäre Dir aufgefallen, dass da FSMC_A18 und nicht 19 steht.

von Arduinoquäler (Gast)


Lesenswert?

Wenn du aufgepasst hättest würdest du nicht so dumm daherreden.

von Harry L. (mysth)


Lesenswert?

Markus schrieb:
>
> Ist das der richtige Anschlussplan?

Ja, den habe ich auch.
Wenn man genau hinschaut, entdeckt man da Zusatz-Infos, die sich auf den 
ZET6 beziehen.

Ich hab jetzt mal nachgemessen, und es ist so, daß das Display auf BANK4 
liegt.
Es wird auch nicht A18, sondern A6 als D/C genutzt.

Läuft zwar bisher noch nicht, aber die Belegung hab ich nachgemessen, 
und es handelt sich um das Board mit dem Platz für Zusatz-Ram auf der 
Rückseite.

Wenn es irgendwo einen passenden Schaltplan für das Board gibt, wäre ich 
dankbar über einen Hinweis, wo das zu finden ist.

von grundschüler (Gast)


Lesenswert?

Harry L. schrieb:
> #define LCD_REG              (*((volatile uint16_t *) 0x60000000))
> /* DC = 0 */
> #define LCD_RAM              (*((volatile uint16_t *) 0x60040000))
> /* DC = 1 */


es gibt dazu einen lehrreichen thread:
Beitrag "STM32F4 mit TFT Codeverständnis"

Danach wäre
#define LCD_REG              (*((volatile unsigned short *) 0x60 00 00 
00)) /* RS = 0 */
#define LCD_RAM              (*((volatile unsigned short *) 0x60 02 00 
00)) /* RS = 1 */

richtig

von Arduinoquäler (Gast)


Lesenswert?

Harry L. schrieb:
> Ich hab jetzt mal nachgemessen, und es ist so, daß das Display auf BANK4
> liegt.

Beim Core407V nicht.

PD7 = FSMC_NE1 -> CS

Also Bank 1.

Aber vielleicht reden wir von verschiedenen Boards. Dass das
Display aber 16-bittig angesprochen wird, dabei bleibt es wohl.

von Harry L. (mysth)


Lesenswert?

Arduinoquäler schrieb:
> Harry L. schrieb:
>> Ich hab jetzt mal nachgemessen, und es ist so, daß das Display auf BANK4
>> liegt.
>
> Beim Core407V nicht.
>
> PD7 = FSMC_NE1 -> CS
>
> Also Bank 1.
>
> Aber vielleicht reden wir von verschiedenen Boards. Dass das
> Display aber 16-bittig angesprochen wird, dabei bleibt es wohl.

Ich hab dieses Board:
https://de.aliexpress.com/item/STM32F407ZET6-development-board-M4-STM32F4-core-board-arm-development-board-cortex-M4/32793995387.html?spm=a2g0s.9042311.0.0.ZWr0pY

Und die Verbindungen hab ich nachgemessen.
Definitiv NE4 (PG12) und A6 (PF12)

: Bearbeitet durch User
von Arduinoquäler (Gast)


Lesenswert?

Harry L. schrieb:
> Ich hab dieses Board:
> 
https://de.aliexpress.com/item/STM32F407ZET6-development-board-M4-STM32F4-core-board-arm-development-board-cortex-M4/32793995387.html?spm=a2g0s.9042311.0.0.ZWr0pY

Der Titel dieses Threads bezieht sich aber auf das STM32F407VE.

Beitrag "STM32F407 Black und Arduino"

Harry L. schrieb:
> Ich spiel auch gerade mit dem Board

Wie soll jemand wissen dass du ein anderes Board meinst?

von Markus (Gast)


Lesenswert?

>Der Titel dieses Threads bezieht sich aber auf das STM32F407VE.

Ist das so?

Aber immerhin haben wir gerade gelernt, dass es zwischen den sehr 
ähnlich aussehenden Boards ( mit und ohne RAM-extension ) einen 
deutlichen Unterschied gibt.

von Arduinoquäler (Gast)


Lesenswert?

Markus schrieb:
> Ist das so?

Vielleicht hält dein Gedächtnis nicht so lang .....

Oder du bist ein ganz anderer Markus .... und verstehst den
Thread ganz anders.

von Markus (Gast)


Lesenswert?

Hmm .. scheinbar wird nur der VET6 als

"Black VET6" STM32F407VET6 Variant

bezeichnet.
Die ZTE Variante kommt ohne "Black" aus, obwohl sie auch schwarz ist:
http://wiki.stm32duino.com/index.php?title=STM32F407#STM32F407ZET6_Variant

von Arduinoquäler (Gast)


Lesenswert?

Markus schrieb:
> Hmm .. scheinbar wird nur der VET6 als
>
> "Black VET6" STM32F407VET6 Variant
>
> bezeichnet.

Das Bild das du zum Start gepostet hast ist eindeutig.

Aber vielleicht handelst du nach dem Motto: Was kümmert
mich mein Geschwätz von gestern.

Übrigens hast du schon herausgefunden wie der NRF24L01
anzuschliessen ist? Schwierige Sache gell?

Markus schrieb:
> Wie schließt man das nrf24l01 an das STM32F407 Board an?

von Harry L. (mysth)


Angehängte Dateien:

Lesenswert?

Arduinoquäler schrieb:
> Der Titel dieses Threads bezieht sich aber auf das STM32F407VE.
>
> Beitrag "STM32F407 Black und Arduino"

Mag sein, aber erst durch diesen Thread bin ich überhaupt auf das Board 
aufmerksam geworden.

Inzwischen hab ich auch einen Schaltplan gefunden, der zu meinem Board 
zu passen scheint, und meine Beobachtungen (NE4 und A6) bestätigt (siehe 
Anhang)

von Arduinoquäler (Gast)


Lesenswert?

Harry L. schrieb:
> Mag sein, aber erst durch diesen Thread bin ich überhaupt auf das Board
> aufmerksam geworden.

Auch deine Adress-"Spekulation" wies darauf hin das du mit
deiner Programmierung auf ein STM32F407VE-Board abzielst.

von Harry L. (mysth)


Lesenswert?

Arduinoquäler schrieb:
> Harry L. schrieb:
>> Mag sein, aber erst durch diesen Thread bin ich überhaupt auf das Board
>> aufmerksam geworden.
>
> Auch deine Adress-"Spekulation" wies darauf hin das du mit
> deiner Programmierung auf ein STM32F407VE-Board abzielst.

Das hab ich inzwischen auch realisiert....

Und jetzt?

Soll ich deiner Meinung nach jetzt einen neuen Thread eröffnen?

Ich sehe da allerdings mehr Gemeinsamkeiten als Unterschiede bei den 
beiden Boards.

von Markus (Gast)


Lesenswert?

>Und jetzt?
>Soll ich deiner Meinung nach jetzt einen neuen Thread eröffnen?

Lass es ruhig hier. In der Überschrift steht ja "STM32F407" ohne eine 
spezielle Versionsbeschreibung.
Es ist interessant, ob sich noch weitere relevante Unterschiede zwischen 
der ZE und VE Variante ergeben.

von Arduinoquäler (Gast)


Lesenswert?

Markus schrieb:
> In der Überschrift steht ja "STM32F407" ohne eine
> spezielle Versionsbeschreibung.

Seltsam. Wenn ich die "Überschrift" anschaue lese ich da

"STM32F407 Black und Arduino".

Scheinbar gibt es da Unterschiede in der Wahrnehmung, oder
uc.net gibt die "Überschrift" anwenderspezifisch aus.

Oft ist es aber wirklich so dass die Leute sich nicht mehr
um ihr Geschwätz von gestern kümmern.

von noreply@noreply.com (Gast)


Lesenswert?

Welche SD Karten machen eigentlich bei dem Board Sinn?

von Markus (Gast)


Lesenswert?

Was meinst Du damit?
4 bit SDIO geht.

von noreply@noreply.com (Gast)


Lesenswert?

Markus schrieb:
> Was meinst Du damit?
> 4 bit SDIO geht.

Unterstützte Größen.
SD: 8 MB bis 2 GB[1]
SDHC: 4 GB bis 32 GB
SDXC: 48 GB[2] bis max. 2 TB[3]

Und sinnvolle Geschwindigkeitsklassen (Speed Class 2 bis 10, ...) in 
Abhängigkeit der Leistungsfähigkeit des Board.

von Markus (Gast)


Lesenswert?

Von der LibMaple Seite wird SDHC unterstützt:
http://www.stm32duino.com/viewtopic.php?f=39&t=2215&p=31029&hilit=sdhc#p31029

Bei STM32GENERIC mit ziemlich großer Wahrscheinlichkeit auch.
SDXC müsste man mal suchen.

von grundschüler (Gast)


Lesenswert?

C. W. schrieb:
> Habe die Bins auch noch dazu gepackt. Bis auf die StemwinLib sind
> alles
> Files  inklusive CMSIS und HAL dabei.

Habe jetzt mal versucht, dein Projekt nachzubauen. Die TFT32test.ihex 
funktioniert. Im Projekt fehlen aber Dateien. Zumindest "GUI.h". Kannst 
du die noch nachliefern?

von C. W. (chefkoch)


Lesenswert?

Alle fehlenden Dateien kommen direkt mit Stemwin. Du musst eigentlich 
nur das entsprechende inc-Verzeichnis inkludieren und Gui.h sowie 
gui_x.c in deinem Projekt hinzufügen. Als library musst Du die 
stemwin532_cm4_gcc verwenden falls du GCC benutzt - bei einem anderen 
Compiler entsprechend eine andere Version. GCC geht übrigens von Natur 
aus davon aus das die Libs  mit lib... im Dateinamen beginnen. Also muss 
die A-Datei in libSTemWin532_CM4_GCC.a umbenannt werden.

von Harry L. (mysth)


Angehängte Dateien:

Lesenswert?

C. W. schrieb:
> Also muss
> die A-Datei in libSTemWin532_CM4_GCC.a umbenannt werden.

Das muß man nicht.
Wenn man in Eclipse arbeitet kann man das als "other Object" einbinden. 
(siehe Screenshot)

von C. W. (chefkoch)


Lesenswert?

Harry L. schrieb:
> Das muß man nicht.
> Wenn man in Eclipse arbeitet kann man das als "other Object" einbinden.
> (siehe Screenshot)

Danke für den Tipp - bei mir (VisualGDB) geht es tatsächlich auch, nennt 
sich aber "Additional linker inputs".

Man lernt nie aus

von grundschüler (Gast)


Lesenswert?

C. W. schrieb:
> direkt mit Stemwin

Danke für die Hinweise. Stemwin überfordert mich ein bischen. Sicher 
sehr gut, aber ich brauche im Prinzip nur text.

Die Initialisierung funktioniert mit
1
oid ili9341_init(void)
2
{
3
  LCD_REG = ILI9341_RESET;
4
  HAL_Delay(60);
5
    
6
  LCD_REG = ILI9341_DISPLAY_OFF;
7
8
  LCD_REG = ILI9341_POWERA;
9
  LCD_RAM = 0x39;
10
....


Mir fehlt jetzt die Funktion zum Schreiben eines Pixels

Müsste eigentlich so funktionieren:
1
void set_px(u16 x,u16 y,u16 color){
2
LCD_REG = 0x002a;
3
LCD_RAM = x;
4
LCD_REG = 0x002b;
5
LCD_RAM = y;
6
LCD_REG = 0x002d;
7
LCD_RAM = color;
8
}
Tut es aber leider nicht.


Kann jemand weiterhelfen?

von Markus (Gast)


Lesenswert?

Ich sage nur Arduino und Adafruit_GFX:
1
 virtual void drawPixel(int16_t x, int16_t y, uint16_t color) = 0;

Wenn sich einer die Mühe macht, Adafruit_GFX einzubinden, haben die 
anderen keine Probleme mehr ....

von Arduinoquäler (Gast)


Lesenswert?

grundschüler schrieb:
> Tut es aber leider nicht.

Du musst dem LCD noch mitteilen dass es beschrieben werden soll.
Kommando 0x2C.

Die Parameter Liste für column address set und row address set
ist zwei mal 16 Bit (Anfangs- und Endwert)
1
void set_px (u16 x, u16 y, u16 color)
2
{
3
  LCD_REG = 0x002A;  // column address set
4
  LCD_RAM = x;       // Startwert 16 Bit
5
  LCD_RAM = x;       // Endwert 16 Bit
6
  LCD_REG = 0x002B;  // row address set
7
  LCD_RAM = y;       // Startwert 16 Bit
8
  LCD_RAM = y;       // Endwert 16 Bit
9
10
  LCD_REG = 0x002C;  // memory write
11
  LCD_RAM = color;
12
}

Alle dem memory write Kommando folgenden schreibenden
Datentransfers füllen das LCD sequentiell mir Daten,
solange der x,y Endwert nicht erreicht ist.

von Arduinoquäler (Gast)


Lesenswert?

Markus schrieb:
> Wenn sich einer die Mühe macht, Adafruit_GFX einzubinden, haben die
> anderen keine Probleme mehr ....

Wenn du dir mal die Mühe machen würdest tiefer in die Materie
einzusteigen hättest du weniger Probleme. So bleibt es
bei dir bei der ewigen Copy&Paste Methode und führt immer mehr
zum Einschlafen der Hirnaktivität.

von grundschüler (Gast)


Lesenswert?

Arduinoquäler schrieb:
> Die Parameter Liste für column address set und row address set
> ist zwei mal 16 Bit (Anfangs- und Endwert)

gut erklärt, danke. Habe jetzt das erste Pixel erfolgreich geschrieben. 
Den Rest bekomme ich hin.

von Markus (Gast)


Lesenswert?

>Wenn du dir mal die Mühe machen würdest tiefer in die Materie
>einzusteigen hättest du weniger Probleme.

Da Du ja so viel Wert auf die genaue Auslegung des Thread-Topics legst, 
solltest du den lieber noch mal durchlesen.

von Markus (Gast)


Lesenswert?

Gerade gefunden:

Hier hat jemand eine Repostory mit ILI9488_FSMC support

https://github.com/andrethomas/STM32GENERIC/tree/master/STM32/libraries

Danke, andrethomas :-)

von Matthias S. (da_user)


Lesenswert?

Hi,

heute ist auch mein STM32F407VET6 - Black angekommen. Bin leider noch 
nicht zum testen gekommen, konnte aber schon das eine oder andere im 
Internetz ergoogeln. Derzeit habe ich gefühlt 300 unterschiedliche 
Arduino-Core-Varianten ausgemacht.
Gut, in der Praxis sinds wohl eher 5: Die vier die auf der Wikiseite von 
stm32duino genannt sind, und ein weiteres. Dazu ist auf der Wikiseite 
schonmal eines genannt, welches auf Git als veraltet gekennzeichnet ist 
(NewCube). Und eines, was sich von der Beschreibung her ganz gut anhört 
(Koduino) aber laut dessen Texte gar nicht das F407 unterstützt.

Darum meine Frage:

Welcher Core hat den derzeit besten Entwicklungsstand? Wenns hilft: 
genutzt werden soll (derzeit) die SD-Karte und die RTC, nicht aber das 
LCD- und NRF-Interface.
Ich bin da im Moment leidet etwas erschlagen von den Infos und bevor ich 
auf's falsche Pferd setze und mit dem zu meinem Ziel humpel, hat 
vielleicht jemand mit etwas Erfahrung einen Tipp für mich?

von Markus (Gast)


Lesenswert?

Ich habe immer den Generic-Core benutzt.
https://github.com/danieleff/STM32GENERIC

Den hat ursprünglich Daniel Effek gewartet und später hat ihn ein 
Chinese "huaweiwx" geforked und massiv alle möglichen Libraries dazu 
gepackt. Inclusive StmWin Beispielen. Wobei die ja nicht unbedingt 
Arduino-konform sind.Vielleicht sollte man die neueste Version davon mal 
probieren. Die chinesische Version könnte allerdings aus Arduino-Sicht 
etwas verwachsen sein:

https://github.com/huaweiwx/STM32GENERIC

von Matthias S. (da_user)


Lesenswert?

Was darf ich mir den vorstellen unter "nicht Arduino konform"?

von Markus (Gast)


Lesenswert?

Wenn man mal Arduino als eine Art der Phiplosphie der Vereinfachung 
ansieht,  sollten dabei folgende Punkte gegeben sein:

1. Der entstehende Code soll sehr einfach lesbar sein
2. Die Funktionen sollen mit wenigen Parametern aufrufbar sein
3. Die Philosophie soll vom "Einfachen" ins "Komplexe" gehen, d.h. 
Klassen funktionieren schon mit wenig oder gar keinem Parameter, 
spezialisiert wird durch den Aufruf mit mehreren Parametern
4. Es müssen einfache Codebeispiele für jede Funktion vorhanden sein
5. Alles muss Out-Of-The-Box funktionieren

Definitiv dem ein- oder anderen Punkt dieser Philosphie widersprechen 
würde z.B. dieses Beispiel von Huaweiwx:

https://github.com/huaweiwx/STM32GENERIC/blob/master/STM32/libraries/BoardExamples/examples/BlackF407VE/ADC_RegularConversion_Polling/ADC_RegularConversion_Polling.ino

von Matthias S. (da_user)


Lesenswert?

Oh ja, stimmt, das hört sich kompliziert an.

Ich habe jetzt das Board mit dem Generic-Code in Betrieb genommen. Dazu 
einfach erstmal die Arduino-IDE genutzt, und, da es wohl für das keine 
DFU-Treiber gibt, den ST-Link V2 angeklemmt.
Das Blinkbeispiel konnte ich dann mit der Arduino-IDE übertragen. Dazu 
unter Werkzeuge => Upload method "STLink" ausgewählt. Zudem bei der "USB 
Configuration" die Option "USB serial (CDC)", da ich später dann auch 
per Seriell draufzugreifen wollte.
Hat super geklappt, LED blinkt und COM-Port ist verfügbar.

Also bin ich jetzt zu meiner eigentlichen Entwicklungsumgebung 
rübergewechselt: VisualStudio Community mit VisualMicro.
Dort habe ich jetzt ein einziges Mal das Beispiel mit der RTC-Clock zum 
laufen und funktionieren gebracht, auch COM-Port hat funktioniert.

Jetzt habe ich irgendwie das Problem, das zwar die gleichen Compiler- 
und Uploadoptionen gesetzt sind (Generic STM32F407 Series, USB serial, 
smalles, STLink).

Der Upload klappt auch laut Ausgabe, aber dann erscheint:

"The core is locked up!" der COM-Port verschwindet und es blinkt nix. 
Wenn ich dann das Blink-Beispiel mit der ArduinoIDE aufspiele 
funktioniert wieder alles.

Was mache ich den hier falsch?

von Markus (Gast)


Lesenswert?

Leider benutze ich Visual-Micro nicht. Gibt es dort vielleicht irgend 
welche CLK-Optionen wie z.B. externen Quarz nutzen/nicht nutzen?

von Matthias S. (da_user)


Angehängte Dateien:

Lesenswert?

Hi,
also zuerst habe ich jetzt erstmal gemerkt, dass ich nicht den Generic 
verwende, sondern STM32duino. Die Cores habe ich mal für den F103 
installiert.
Da muss ich heute Abend unbedingt den Generic-Core austesten.

Markus schrieb:
> Gibt es dort vielleicht irgend
> welche CLK-Optionen wie z.B. externen Quarz nutzen/nicht nutzen?

Ich bin heute morgen nur kurz dazugekommen nachzugucken und schnell nen 
Screenshot zu machen. Aufgefallen wäre mir nix, auch in den Untermenüs. 
Bei den bisher getesteten Boards wäre mir auch nie aufgefallen, dass ich 
in VisualMicro mehr Einstellmöglichkeiten hätte, als in der Arduino IDE.
Im Anhang der Screenshot vom Menü.
Beizeiten kann ich noch einen von den Untermenüs anbieten.

Ist schon schön mit den STM32-Boards: Ist jetzt meine dritte Variante 
(davor Nucleo32 F303K8 & F103 - Maple-Clone). Alle drei machen/machten 
beim Einrichten massive Probleme. Wenn sie dann laufen, dann sind sie 
genial, bis dato zumindest... ;-)

: Bearbeitet durch User
von Matthias S. (da_user)


Lesenswert?

Also, ich habe gerade die STM32duino-Cores runtergeschmissen, und die 
STM32Generic installiert.
Damit klappts...

von Markus (Gast)


Lesenswert?

>Also, ich habe gerade die STM32duino-Cores runtergeschmissen, und die
>STM32Generic installiert.
>Damit klappts...

Sehr schön.
Ja, die stm32duino-Cores sind meiner Ansicht nach ein einziges 
Durcheinander:
https://github.com/stm32duino

Wenn ich es richtig weiß, hat STM einen Mitarbeiter, der eine kleine 
externe Firma betreut um das ganze Arduino-System auf den verschiedenen 
STM-Boards zum laufen zu bringen.
Ich hatte aber vor kurzem mal ein L476-Board mit dem stm32duino-Core 
probiert. Das Blinken ging sofort, aber beim ADC war schon Schluss. Der 
blieb auf einem festen Wert hängen. Es ist schon ein wenig ärgerlich, 
wenn ein Board im Auswahlmenue auftaucht, aber die Entwickler nicht mal 
den Test durchgeführt haben, ob die Grundfunktionen einwandfrei 
funktionieren.

Funktioniert das debuggen mit VisualMicro?

von Matthias S. (da_user)


Lesenswert?

Ich bin jetzt gerade eben nochmal voll am grübeln.
Beim Genericcode lässt sich das F407 laut Quellcode wohl als 
"...BlackEdition" auswählen. Habe ich bei mir nicht, sondern, genauso 
wie in STM32duino: "F407 Generic"....
Arg ich glaube ich muss mir da nochmal einen Überblick verschaffen...

Markus schrieb:
> Funktioniert das debuggen mit VisualMicro?

Kann ich dir gar nicht sagen. Ich nutze "nur" die Trial-Version (das ist 
ja hier ähnlich wie bei WinRAR). Ich glaube ich hätte die Chance gehabt 
den Debugger zu testen, habe ich aber nicht gemacht. Ich bin ein 
"Serial.print"-debugger ;-)
VisualStudio ist's ja nur geworden, weil ich davor schon das eine oder 
andere in C# programmiert habe und mir das VS deswegen doch etwas liegt. 
Eclipse hatte ich damals noch probiert, bin damit aber nicht grün 
geworden.
Ich kanns prinzipiell weiterempfehlen, würde aber jeden, insbesondere 
Leuten die bis dato noch nicht mit VS gearbeitet haben, raten sich 
vorher VisualStudio Code anzugucken. Ist doch einen ganzen Schwung 
schlanker.

von Markus (Gast)


Angehängte Dateien:

Lesenswert?

Scheinbar gibt es ziemlich viele Varianten des STM32F407VE6 Boards.
Das, welches ich habe
( https://www.mikrocontroller.net/attachment/328681/STM32F407_Black.jpg 
), gibt es mittlerweile für unter 10€.

von Pasquale Cavoti (Gast)


Lesenswert?

Hallo zusammen

Ich versuche das Board aus Deutschland zu bestellen aber weiss nicht, 
welcher Lieferant aus Deutschland liefert.

Arduinoquäler schrieb:
> Wenn du 3 Euro drauflegst bekommst du es aus Deutschland geliefert
> und musst nicht warten bis die Chinesen dich du alt und grau werden
> lassen.

Weisst du wo man das Board aus Deutschland bestellen kann?

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.