STM32F407 Black und Arduino

Gast #4992130
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.
Gast #4992133
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
Gast #4992384
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?
Gast #4992418
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.
Gast #4992424
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 ....
Gast #4992448
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.
Gast #4993948
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
#4994632
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.
Gast #4994659
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.
#4994768
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! ;-)
#4994787
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.......
Gast #4994811
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.
#4994839
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.
Gast #4994864
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.
#4994892
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".
Gast #4994956
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?
Gast #5008264
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.
Gast #5008302
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
Gast #5008682
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.
Gast #5008701
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.
Gast #5008714
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
Gast #5010641
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?
Gast #5030705
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.
Gast #5030799
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?
Gast #5031575
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.
Gast #5042453
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.
Gast #5045178
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.
Angehängte Dateien:
Gast #5050302
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.
Gast #5050342
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.
#5050734
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?
#5050983
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
#5051082
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.
Angehängte Dateien:
Gast #5051091
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.
#5088366
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?
Gast #5088385
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 ....
#5088449
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.
Gast #5088458
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
Gast #5088464
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.
#5088474
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)
Gast #5088489
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?
Gast #5088495
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.
Gast #5088547
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?
#5088614
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)
Angehängte Dateien:
#5088637
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.
Gast #5089022
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.
Gast #5089415
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.
Gast #5090451
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.
Gast #5095001
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?
#5095371
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.
Gast #5096740
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?
Gast #5096908
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 ....
Gast #5097054
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.
Gast #5097070
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.
Gast #5097752
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.
#5357930
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?
Gast #5358085
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
Gast #5358877
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
#5358979
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?
#5359643
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... ;-)
Angehängte Dateien:
Gast #5361022
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?
#5361859
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.
Gast #5727050
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?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren