Hallo zusammen, heute ist meine STM32F4DISCOVERY angekommen. Ich habe mir das Board gekauft um damit eine kleine Steuerung für meine elektr. Rolläden + Heizungssteuerung + LED zu bauen. Mit "Makroelektrik" (also die Temperatur und Relaisplatine)komme ich sehr gut klar nur mit der Programmierung habe ich enorme Probleme. Ich dachte eigentlich ich könnte mir das ganze recht einfach über die vielen Beispiele erklären nur ist dem leider nicht so. Kann mir jemand einen einfachen Guide empfehlen welcher mich in die ADC Programmierung mit der STM32F4DISCOVERY einführt? Konkrete Fragen sind: -ist es möglich alle 15 ADC123/IN nacheinander abzufragen? -sind diese 15 Pins die im Manuell (http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/USER_MANUAL/DM00039084.pdf) als ADC_123/IN angegebene sind die einzigen Ausgänge die ich an die Relaisplatine nutzen kann? Sorry für die "dummen" Fragen aber bin bei der Programmierung auf absolutem Neuland. Danke schonmal für die Hilfe LG Klaus
Ich habe selber noch nichts mit dem STM32 gemacht (spiele aber mit dem Gedanken). Hier gibt's ein Tutorial, die Unterschiede zum F4 sind vermutlich nicht sehr groß: http://diller-technologies.de/stm32.html#adc
Hi, vielen Dank für den Link. Habe gerade mal ein bisschen rein geschaut: das hilft mir schonmal ziemlich weiter. Vielen Dank LG Klaus
Ich möchte Dir aber doch nahelegen, die das Reference-Manual durchzulesen. Soweit ich das erkennen kann ist der Code eigentlich sehr ähnlich zu den Beispielen nur um Informationen aus dem Reference-Manual ergänzt.
Hi, da bin ich schon seit ein paar Tagen dran nur 1300+ Seiten ist schon ne Menge, auch wenn man nur das wichtigste raus sucht. LG Klaus
Du musst ja für die AD-Wandlung nicht wirklich alle 1300 Seiten lesen. Aber ein paar Tage sind auch zuwenig. Darüber hinaus gibt es, (am F1 gemessen) einige Fallen die auch das Reference Manual nicht nennt. Also ruhig Blut. Aber durch musst Du. Die Beispiele im Netz decken nur gerade das ab, was der Autor selbst zum jeweiligen Zeitpunkt interessant fand. Aber wenn Du noch nie programmiert hast, dann ist das ohnehin ein ganz schönes Stück Arbeit, das Du vor Dir hast. Es wäre besser wenn Du Dir erstmal ganz bescheidene Ziele setzt um die Frustrationen zu verringern.
leckts mi am a... ein paar tage zuwenig um alles über die ad-wandlung zu erfahren !? was für ein ungetüm ist denn dieser controller ???
Hallo, nimm dafür nen kleinen AVR-Mega und gut is. Dann brauchst Du nicht soviel auf Discovery zu gehen :)
schau mal auf der ST Seite Nacht, zum STM32F10x gabs für jede Peripherie noch ein Spezielles Datenblatt, manchmal sogar zwei^^. Dort werden Grundlegende Dinge nochmal erklärt, gerade deine Frage wie und ob du die Eingänge nacheinander abfragen kannst wurde dort meines Wissens nach nochmal ausführlich erläutert.
...@Klaus (Gast) Ich glaube, hier handelt es sich um eine konzeptionelle Frage; Du willst doch nicht ernsthaft 15 Temperaturfühler aus verschiedenen Räumen nacheinander über ADC abfragen ? Dazu gibt es elegantere Lösungen z.B.: Beitrag "DS1820, DS18B20 in C" Einen Helligkeitssensor (SF9088) für die Rollläden lasse ich mir ja noch gefallen, wenn er nicht allzu weit vom ADC-Eingang entfernt ist. ADC fängt gern Störungen ein(Funkenstrecken, HF, usw.); Die Relaisplatte(n) kannst Du über I2C-Bausteine ansteuern;
Zum STM32F4 gibt es bei ST eine Firmwarebibliothek in der Beispielhaft die Nutzung der ADC Funktion gezeigt wird. Zusammen mit dem Datenblatt sollte es recht schnell gelingen, das gewünschte Vorhaben zu realisieren. Prinzipiell ist es auf jeden Fall möglich.
Hallo zusammen, @erhardd (Gast): es sind "nur" 12 Temperaturfühler, aber sonst ist es genauso wie du geschrieben hast :) Ich werde mir nachher mal den Link von dir durchlesen. Wenn es damit einfach geht werde ich mal versuchen umzusteigen. @Max Power und den Rest: auf der ST Seite bin ich nebenbei auch am schauen. Leider ist die Seite meiner Meinung nach ziemlich unübersichtlich. Habe bisher nur 4 Beispiele zu ADC gefunden diese sind aber anders als die von mir gesuchte. Kennt sich jemand auf der Seite aus und kann mir evtl einen Direktlink geben? Meint ihr diesen http://www.st.com/internet/evalboard/product/252419.jsp (ganz unten)? Gruß Klaus
...um dich vollends aus dem Konzept zu bringen: Schau mal unter http://son.ffdf-clan.de/include.php?path=start -was da alles mit einem AVR erreicht werden kann; Du musst dann nurnoch auf stm32 anpassen :) :) :) ...
"heute ist meine STM32F4DISCOVERY angekommen. Ich habe mir das Board gekauft um damit eine kleine Steuerung für meine elektr. Rolläden + Heizungssteuerung + LED zu bauen. Mit "Makroelektrik" (also die Temperatur und Relaisplatine)komme ich sehr gut klar nur mit der Programmierung habe ich enorme Probleme." Wie man für diese Probleme und mit diesen Vorkenntnissen ein Discovery als Mikrocontrollersystem auswählen kann, ist mir ein Rätsel. Nimm ein Arduino sammt Entwicklungsumgebung, damit kannst Du alles in ein paar Tagen machen. Das Discovery ist eher was für Mikrocontroller Profis. Man kann kann es in etwa so vergleichen: Jemand der gerade angefangen hat, die Stützräder am Fahrrädchen weg zu bauen, sollte nicht schon am nächsten Tag am Motoradwettrennen auf dem Nürburgring mitmachen wollen.
Klaus schrieb: > Sorry für die "dummen" Fragen aber bin bei der Programmierung auf > absolutem Neuland. Na dann hast Du dir das schwierigste "stm32 discovery" zum Einstieg geholt. Viel besser wäre das mit dem stm32f100 gewesen. Die beiden anderen kenne ich nicht, das mit dem Cortex-M0 würde passen, ist aber noch zu neu, das andere hat m. E. eher zu viel Peripherie auf der Platine (eben so wie das stm32f4 discovery). Klaus schrieb: > -ist es möglich alle 15 ADC123/IN nacheinander abzufragen? SW-technisch ja. Die Frage ist, ob die on-board-Peripherie dies verhindert oder stört. Das ist ja eines der Herausforderungen auf dem stm32f4 - nämlich freie Pins zu finden - bei dem mit dem stm32f100 sind so gut wie alle Pins frei. Michael Frangenberg schrieb: > Hier gibt's ein Tutorial, die Unterschiede zum F4 sind > vermutlich nicht sehr groß: Das Tutorial bezieht sich auf einen stm32f103; das Probem sind die vielen kleinen Unterschiede. Das Tutorial würde aber gut für den stm32f100 passen. micS schrieb: > ein paar tage zuwenig um alles über die ad-wandlung > zu erfahren !? was für ein ungetüm ist denn dieser controller ??? Ich bezweifle, dass die erste ADC-Wandlung an einem beliebigen Controller weniger dauert. Damit meine ich, den Source und ADC wirklich zu verstehen (und nicht nur einzubinden). Mit dem zweiten Satz hast Du recht: Du sprichst von einem Cortex-M4 mit FPU, zwei RAM-Sorten, rund 15 Timer (welche dazu noch verschiedene max. Taktfrequenz haben), dazu hat das Ding in der Peripherie alles, was man sich vorstellen kann. Und dazu kommt das f4-Discovery, welches die Pin-Zuordnung zu einem Geduldsspiel macht. Den hast Du Dir aber selbst ausgesucht - die Frage ist nur, nach welchen Kriterien ;-) Tom schrieb: > nimm dafür nen kleinen AVR-Mega und gut is. Dann brauchst Du nicht > soviel auf Discovery zu gehen :) oder eben das mit dem stm32f100 - das ist das discovery-Erlebnis eingeschränkter ;-) erhardd schrieb: > ... der Webserver könnte dieser werden > Beitrag "stm32f4 --> LwIP_Aufbauvorschlag" ... was die Problematik mit den Pins nicht gerade vereinfacht.
Meine Güte. Mag das bitte jemand etwas näher beschreiben, was beim F4-Discovery das Problem mit der Pin-Zuordnung ist? Bin schon fast dabei mir eins zu bestellen.
...@Roland H. (batchman) Beitrag "stm32f4 Bord" -ja, der 100-Pinner zwingt zu Kompromissen; Im Baseboard habe ich konsequent FSMC genutzt; Sowohl das LCD als auch die SRAM-Erweiterung und die zusätzlichen Ports( erhardd schrieb: > Über 2xWS82C55A habe ich Portexpander für 16-bit Aus-/Eingänge > geschaffen. > 1x14 Ausgänge über ULN2004 zum schalten auch indukt. Lasten(je 500mA, > bis 50Volt) + 2Ausgänge über Bustreiber. > 1x16 Eingänge(Pullups vom Expander-IC gebildet); ) werden darüber bearbeitet; Da nur ein NE1-Pin als Chip-select da ist, wird dieser negiert und mit Adressleitungen , hier A23 für LCD, A22 für Port-Expander (und A21 für SRAM), vernandet (74HC00) In den Base-Adressen ist somit der entsprechende CS bereits drin; Der Portexpander ist nicht einfach(schlecht beschrieben), daher wäre SPI dafür, wie auch für den ENC(Netzwerk) passender...
erhardd schrieb: > Der Portexpander ist nicht einfach(schlecht beschrieben), daher wäre SPI > dafür, wie auch für den ENC(Netzwerk) passender... besser: -daher wäre I2C (z.B.PCF8574) passender. Der ENC(Netzwerk) läuft über SPI( SD-Karte dafür über SDIO); Nicht in der Software "myboard.7z" die Kamera über DCMI...
Noname schrieb: > Meine Güte. Mag das bitte jemand etwas näher beschreiben, was beim > F4-Discovery das Problem mit der Pin-Zuordnung ist? > Z. B. USART1: Entweder kollidiert es mit USB oder dem Audio-DAC. Wer es unbedingt mit den Default-Pins haben will, der muss (angeblich) einen Kondensator entfernen. Danach geht vermutlich USB nicht mehr (oder zumindest die USB-Variante, die an diesen Pins hängt). Oder: Der Audio-DAC geht dann nicht, wenn SDIO im Einsatz ist. > Bin schon fast dabei mir eins zu bestellen. Wofür? Davon hängt es ab. Wenn die Peripherie auf der Platine nicht das Ziel ist, dann muss man etwas knobeln. Nimm Dir einfach den Schaltplan, und versuche, diesen mit der von Dir gewünschten Peripherie in Einklang zu bringen. Wenn Du damit leben kannst, ist es das beste Modul weit und breit. Ich habe einige Zeit investiert, um möglichst viel Peripherie zu "bekommen", ohne ständig umstöpseln zu müssen. Schau Dir einfach Seite 56 im "product data sheet" des stm32f407 mit den "alternate function mappings" an. Wer einfach nur ein "breakout" haben möchte, der ist m. E. mit den "nackten" Discovery-Boards besser bedient. erhardd schrieb: > -ja, der 100-Pinner zwingt zu Kompromissen; So ist es ;-) Vor allem angesichts der gigantischen Peripherie des stm32f407.
@ Roland H. Aha. Danke. Du meinst die gegenseitigen Ausschlüsse aufgrund der Peripherie. OK. Ich habe eher so Geschichten erwartet, wie beim F1, wo z.B. die unteren Timer-Kanäle nicht benutzbar sind, wenn man den Encoder-Eingang verwendet. Da bin ich auf noch so ein oder zwei sich gegenseitig ausschliessende Verwendungen gestossen, die nicht so unbedingt intuitiv waren und im Datenblatt nicht erwähnt wurden. Obwohl Du sowas nicht erwähnt hast, gehe ich davon aus, das es in der Beziehung auch ein paar Eigenarten gibt.
Noname schrieb: > Du meinst die gegenseitigen Ausschlüsse aufgrund der Peripherie. OK. Ja - die Peripherie des µCs und die zusätzliche externe Peripherie auf dem Board. Noname schrieb: > Obwohl Du sowas nicht erwähnt hast, gehe ich davon aus, das es in der > Beziehung auch ein paar Eigenarten gibt. Bestimmt. Die Frage ist, ob das für den geplanten Zweck relevant ist.
Für diese Aufgabe hätte ich jetzt reflexartig zum Cortex-M0 Discovery gegriffen. Mit dem Teil kannst Du schon unheimlich viel machen. Der F4 ist für mich eindeutig in der F1 :-) . Der müde Joe.
>> Du meinst die gegenseitigen Ausschlüsse aufgrund der Peripherie. OK. >Ja - die Peripherie des µCs und die zusätzliche externe Peripherie auf >dem Board. Ich bezog mich auf Einschränkungen die nicht beschrieben sind und solche die zwar irgendwo nachlesbar sind, aber nicht intuitiv. Offensichtliche Widersprüche wie, dass ein USB-Pin und ein ADC die auf dem selben Anschluss des uC nach aussen liegen, meine ich nicht. Das muss man einfach nachschauen. Ebenso das ein USB-Anschluss auf der Platine und ein analoger Input auf der Platine an den selben Anschluss gehen. Das kann man im Schaltplan sehen. >Die Frage ist, ob das für den geplanten Zweck relevant ist. Ja, klar ist das die Frage. Dafür macht man ne Pinplanung. Und was willst Du mir damit sagen?
@ Roland Hm. Also irgendwie befriedigt mich meine Antwort an Dich nicht, zumal sie einen etwas sauren Ton hat. Es ging mir ja nur um folgendes: Ich habe von Dir gelesen, das: >Und dazu kommt das f4-Discovery, welches die >Pin-Zuordnung zu einem Geduldsspiel macht. und >... was die Problematik mit den Pins nicht gerade vereinfacht. Nun wollte ich das genauer wissen. OK. Du hast das auch beantwortet. Deine Antwort bezog sich auf die Einschränkungen in der Kombination der internen Peripherie und/oder die Einschränkungen aufgrund der Peripherie auf der Platine. Das war höflich und freundlich von Dir. Ich wollte das eigentlich auch in keiner Weise abwerten in dem ich sozusagen schrieb: Ach sooo. Du meinst nur die Peripherieeinheiten. Eben dazu, ohne das ich Dir zu nahe treten will, meine ich, das man das durchaus aus dem Datenblatt und dem Schaltplan erkennen kann. Ob "ich" das für selbstverständlich halte oder kann, konntest Du natürlich nicht wissen. Insofern war Dein Hinweis als hilfsbereit zu werten. Aber ich habe im Kopf die erwähnten ungenannten gegenseitigen Einschränkungen, teils ungenannte und teils zwar genannte aber nicht unbedingt selbstverständliche (letzteres richtet sich nach dem allgemeinen und besonderen Kenntnissen mit den ST-Controllern). Kurz und gut. Tut mir leid wegen des Tones. Was mich interessiert sind die, in eben erwähnten Sinne, "esoterischen" Einschränkungen. Kannst (und magst Du) dazu was sagen?
Löte doch die Sachen die Dich stören einfach runter. Schon ist der Pin frei für deine Applikation. Siehe Schaltplan vom Discovery Board, gibt es bei ST als Download.
...jemand ist solchen, nun nennen wir sie mal, "Ungereimtheiten" auf der Spur; http://blog.frankvh.com/category/stm32/ - ist für mich schon fast Pflichtlektüre...
Moin! Ich habe mal ein etwas ausführlicheres Tutorial in "Codeform" zum STM32F4 discovery board erstellt. Es findet sich auf https://github.com/jkerdels/stm32edu. Das Tutorial funktioniert so, dass man einfach dem Programmfluss folgt und die Kommentare liest. Viel Spass dabei!
@jochen (Gast) ...donnerwetter, da hast Du aber viel Zeit investiert, um anderen zu helfen; --> Respekt Wenn ich beim ersten Durchsehen schmunzeln muss, dann nur, weil Du den Leser quasi "an die Hand" nimmst, und ihn auf Klippen und Gefahren aufmerksam mach'st ! (Mir kam da das Bild des märchenerzählenden Großvaters in den Sinn...) Doch Märchen sind dies allemal nicht und die Art der Erläuterung dürfte auch grad Anfängern leichter zugänglich sein. Wirklich, toll gemacht...
@erhardd: Vielen Dank für die Blumen! ;-) Die etwas detailreiche und längliche Erklärung ist in der Tat für absolute STM32 Einsteiger gedacht. Hab im Moment leider nicht die Zeit, an diesem Projekt weiter zu schreiben... aber wenn man sich einmal von vorne bis hinten durch den Programmfluss und die verwiesenen Stellen in den Doku-PDFs gelesen hat, sollte man eigentlich schon recht gut zurecht kommen... Viele Grüße, Jochen
@Jochen: Ich habe heute Abend mehrere Stunden vor Deinem Tutorial verbracht und kann nur sagen: Absolute Spitze! Habe selten so viel in so kurzer Zeit gelernt. Toll, wie Du Dich in Anfänger hineinversetzen kannst! Es blieb bei mir keine (ich wiederhole: keine!) Frage offen. Alles, was mir unklar war, wurde stets in den nächsten 3 Sätzen erklärt - das war ganz, ganz große Didaktik, die Du da auf's Parket gelegt hast. Und auch die Verweise auf die ST-Originaldoku fand ich sehr gut (habe das sehr genutzt und alles dort zusätzlich nachgeschlagen). Kurzum: 1000 Dank für dieses Engagement! Ich war schon drauf und dran meine Lust am Prozessor zu verlieren - jetzt sehe ich erstmals wieder "Land in Sicht". Viele Grüße Igel1
Hi, ist vermutlich eine ziemlich dumme Frage aber ich versuche jetzt seit einer geschlagenen Stunde dieses Tutorial anzuschauen und das einzige das ich finde ist die readme aber keinen code mit Kommentaren... vermutlich bin ich mal wieder zu unfähig
Sebi schrieb: > einzige > das ich finde ist die readme im Kästchen darüber steht das Kürzel "src" und verlinkt auf das gesuchte Verzeichnis.
Habe auch noch 2 STM32F4 Discovery im Schrank gefunden. Kann die jemand gebrauchen? Einfach PN an mich!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.