Hallo, ich möchte gern mit dem STM32 einen ADC Wert über DAC verarbeiten. Nun muss man dafür unter anderem die Konfiguration DMA_PeripheralBaseAddr treffen. Man ließt hier in Beispielen häufig die Definition ADC1_DR_Address. Diese wird aber oben mit dem Wert ((uint32_t)0x4001244C) definiert. Woher kommt dieser Wert? Ich hatte mir im Datenblatt RM0008 S.279 angeschaut, bin aber wohl zu blöd den Zusammenhang zu begreifen, laut Offset müsste ich scheinbar ohnehin irgendwo auf Seite 268 suchen. Kann mir bitte jemand erklären wie das zusammen hängt. Ich denke diese Grundlagen werden ich ja auch später wieder benötigen bei anderen Funktionen?.
Das ist eine Kombination aus dem Referenz Manual (das von dir erwähnte RM0008) und dem Datenblatt deines verwendeten Controllers. Ich RefManual steht der Offset 0x4C für das Datenregister des ADC. Wenn du jetzt im Datenblatt nachsiehst, findest du eine MemoryMap die die Position der einzelnen Speicherbereiche angibt. Hier findet sich der ADC1 beim STM32F102RB z.B. ab Adresse 0x4001 2400. Wenn man beide Adressen kombiniert, ergibt sich die oben definierte Adresse.
Achso ich glaube jetzt hab ichs verstanden Danke. Übrigens hatte ich mich vorhin verschrieben ich meinte anstelle der Seite 268 die Seite 242. Die Memory Map aus dem Datenblatt (bei mir ein 107VC) wird also im Bereich von 0x4001 2400 bis 0x4002 03FF beschrieben werden, wobei ich nur die erste nutze.Jetzt addiert man einfach nur den Offset auf die niederwertigen Stellen. Ich dachte bisher der Offset wäre auf die höherwertigen Stellen zu addieren. Besten Dank noch mal.
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.