Morgen! Grundsätzliche Frage... Ist es möglich einen ADC mit nur einem Channel einmal zu starten und über DMA permanent neue Daten liefern zu lassen? So, dass ich nicht jedes mal eine neue Messung lostreten muss, sondern "einfach" nur den letzen gespeicherten Wert abrufen brauche? Ich Frage, weils bei mir einfach nicht funktioniert. Ich bekomme zwar über DMA einen Wert, aber immer nur einen. Also, keine Automatik.
Ja... ContinuousConvMode ist aktiviert... Der ADC läuft auch permanent... Aber über die DMA bekomme ich immer nur einen einzigen Wert.
https://visualgdb.com/tutorials/arm/stm32/adc/ Ab 9. und 10. steht alles drin was man einstellen muss. DMA dann weiter unten im Beitrag.
Blöde Frage, aber wieso überhaupt DMA? Du könntest doch einfach das ADC Datenregister selbst auslesen...
Ja, bei einem Channel ist diese Frage berechtig... Später benötige ich aber mehrere und dann funktioniert das so nicht mehr.
Was willst du denn später mit so vielen Daten in so kurzer Zeit machen?
Wenn man mehrere ADC Pins beim STM32 auswerten möchte, kommt man an DMA nicht vorbei. Egal wie viele Werte man haben möchte.
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.