Angehangen eine Fehler-Logdatei von einem Kodiertest mit 6 Fehlern. Hat jemand Ideen? Die Diskussion ist eröffnet? Gruß timbo2023
:
Bearbeitet durch User
Heute scheint Freitag der 13. zu sein. Aber auf jeden Fall ist heute Freitag.
Poste ein ZipFile mit dem Inhalt von Src, Inc und der .ioc-Datei!
Für eine fundierte Antwort gibt es ein Bier, wenn ich Sie einmal treffen sollte... timbo2023
Zitat Herr Frings von dieser Seite: "Mittels DMA können die Messergebnisse automatisch ins RAM übertragen werden. Dafür habe ich hier kein Beispiel parat." Wie könnte man diese Aussage auf das konkrete Beispiel adaptieren? Hieran bin ich auch sehr interessiert und gerne offen für Lösungsvorschläge...
Ich hab die grössten Böcke korrigiert, aber bin mir ziemlich sicher, daß du mit deinem Thermelement so keine sinnvolle Werte bekommen wirst. Das ist allerdings kein Software-Problem. Zip entpacken und als Projekt importieren!
:
Bearbeitet durch User
Fehlerfrei, bis dato, timbo2023 dankt - wenn ich Sie mal sehen sollte, gibt es eins ... Bevor ich Ihnen eine angenehme Nacht wünsche, wo und wie lange haben Sie Mikrocontroller-Programmierung gelernt oder studiert, würde mich einmal als Anfänger interessieren...
Timbo2023 schrieb: > wie lange haben Sie > Mikrocontroller-Programmierung gelernt oder studiert, würde mich einmal > als Anfänger interessieren... Anfänger seit Mitte der 70er ;-)
:
Bearbeitet durch User
Timbo2023 schrieb: > Wie könnte man diese Aussage auf das konkrete Beispiel adaptieren? Indem man den Dateneingang mit dem DMA-Controller "verbindet". Das kann man alles wunderbar in CubeMX konfigurieren. Dazu sollte man aber schon grundlegende Konzepte der Mikrocontroller verstanden haben oder sich zumindest damit auseinandergesetzt haben.
Timbo2023 schrieb: > Hat jemand Ideen? Ich würde damit anfangen, mit die ersten Fehlerstelle im Quelltext anzuschauen und darüber nach zu denken. Du schaffst das! uint8_t MSG[16] = {0}; // ist das ein Array von Zeichen ? sprintf(MSG, "%.3f C", Temp); Und bevor du eigene Befehle in die main.c einbaust, solltest du die mal die Kommentare darin anschauen und überlegen, was das wohl für die Platzierung dieses Codes zu bedeuten hat. Wenn du nicht von alleine drauf kommst, ändere mal irgend etwas in Cube und aktualisiere dann damit deinen Quelltext. Spätestens dann wird es dir klar.
Es handelt sich um ein Kurz-Projekt zur Aufnahme der Temperatur mit Thermoelement. Anbei ein Bild und der src- und inc-Ordner mit der ioc-Datei (als zip-Datei). Nun meine Frage, wenn ich das Programm laufen lasse, sehe ich an meinem seriellen Port keine Ausgabe auf dem Bildschirm. (1) Woran kann dies liegen? Desweiteren versuche ich mir derzeit eine Möglichkeit einer Kompetenz in der STM32-Programmierung aufzubauen. Gibt es hier preisgünstige Weiterbildungsmöglichkeiten? Themenfelder GPIO-Initialisierung, Speicherung mit Auf- und Abruf, eine Einführung in Register und eventuell mit Beispielen für Sensorik und Schrittmotoren? (2) Wie kann ich die aufgenommenen Messwerte in einem Speicherabschnitt auf dem STM32F411CEU hineinschreiben? Gerne würde ich zudem in diskreten Abständen die komplette Abspeicherung überschreiben.
:
Bearbeitet durch User
Am Anfang Include einfügen:
1 | /* Private includes ----------------------------------------------------------*/
|
2 | /* USER CODE BEGIN Includes */
|
3 | |
4 | #include "usbd_cdc.h" |
5 | #include "stdio.h" |
6 | #include "LM235Z.h" |
Und in der main():
1 | /* USER CODE BEGIN WHILE */
|
2 | float Temp; |
3 | while (1) |
4 | {
|
5 | Temp = LM235Z_Read(0); |
6 | sprintf(MSG, "%.3f C", Temp); |
7 | |
8 | CDC_Transmit_FS(MSG, strlen(MSG)); |
9 | |
10 | HAL_Delay(100); |
11 | |
12 | /* USER CODE END WHILE */
|
13 | |
14 | /* USER CODE BEGIN 3 */
|
15 | }
|
:
Bearbeitet durch User
Ok, woher wussten Sie das? Dankeschön - Anbei ein Bildschirmfoto von den laufenden Werten, die aufgenommen werden, nach der realen Temperatur sieht das noch nicht aus, aber etwas scheint anzukommen...
Timbo2023 schrieb: > nach der realen Temperatur sieht das noch nicht aus, aber etwas > scheint anzukommen. Das sind ja auch nur die RAW-Values des ADC.
Sie sprachen von ADC, gibt es hierzu noch einschlägige Informationen? Auch zur Verarbeitung von Roh-Werten. Zudem bin ich mir auch bei der Pin-Initialisierung noch unsicher. GPIO_InitStruct.Pin = GPIO_PIN_7; Was bedeutet diese Reihe genau? PA7 ist doch PIN 17 laut PinOut-Diagramm oder täusche ich mich da grundsätzlich? Abschließend: Wie kann ich nun 250 Werte in einen Speicher schreiben und programmatisch nutzen?
:
Bearbeitet durch User
Timbo2023 schrieb: > Sie sprachen von ADC, gibt es hierzu noch einschlägige Informationen? https://www.st.com/resource/en/user_manual/um1725-description-of-stm32f4-hal-and-lowlayer-drivers-stmicroelectronics.pdf und das Datenblatt und Referenz-manual deines Chip: https://www.st.com/en/microcontrollers-microprocessors/stm32f411/documentation.html Sich solche Informationen durch eigene Recherche zu beschaffen gehört zu den elementaren Grundvoraussetzungen wenn man mit diesen Bauteilen etwas sinnvolles anfangen will. Timbo2023 schrieb: > Auch zur Verarbeitung von Roh-Werten. Datenblatt vom Sensor lesen, verstehen und eine Funktion schreiben, um aus den Rohdaten sinnvolle Werte zu errechnen. Timbo2023 schrieb: > GPIO_InitStruct.Pin = GPIO_PIN_7; > > Was bedeutet diese Reihe genau? s.o.: HAL User-Manual und das Referenz-Manual zum verwendeten Chip. Für den Anfang kannst du davon ausgehen, daß CubeMX das erstmal korrekt erledigt. Timbo2023 schrieb: > Wie kann ich nun 250 Werte in einen Speicher schreiben und > programmatisch nutzen? Da wirst du wohl zuerst einmal die Grundlagen von C lernen müssen. Mit µCs hat das gar nichts zu tun. Das geht am besten auf einem PC ganz ohne µC.
Dank dafür, mache morgen eine Weiterbildung im Bereich HAL-Treiber-Nutzung und Programmierung. Ist die Bezeichnung im Deutschen überhaupt so richtig? C versuche ich nebenbei zu vertiefen. Heute lese ich mir Grundlagen zur FLASH-Speicherprogrammierung durch und erarbeite mir diese. Mit Thermoelementen hatte ich aber sschon zu Studienzeiten zu tun, das werde ich mit geringeren Aufwendungen "hinbekommen". Angenehmen Sonntag timbo2023
Timbo2023 schrieb: > Mit Thermoelementen hatte ich aber sschon zu Studienzeiten zu tun, das > werde ich mit geringeren Aufwendungen "hinbekommen". Wie ich sehe hast du deine "analogen" Probleme von hier noch nicht gelöst: Beitrag "STM32F411CEU + Thermoelement - Erster Versuch eines Datenauslesens -"
Timbo2023 schrieb: > C versuche ich nebenbei zu vertiefen. C ist die Voraussetzung für alles Weiter, und nix für "nebenbei" Timbo2023 schrieb: > Heute lese ich mir Grundlagen zur FLASH-Speicherprogrammierung durch und > erarbeite mir diese. Und was soll das? Ich erkenne nur vollkommen Planlosigkeit. Timbo2023 schrieb: > Mit Thermoelementen hatte ich aber sschon zu Studienzeiten zu tun, das > werde ich mit geringeren Aufwendungen "hinbekommen". Nein, wirst du nicht, wie man bereits versucht hat, dir in deinem anderen Thread zu erklären. Such dir besser ein anderes Hobby! Dir fehlen wirklich alle Grundvoraussetzungen inkl. Talent und Fantasie.
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.