Ich möchte den AD-Wandler mit 8KHz-Rate (für die Sprachabtastung) einrichten. Ich weiß, wie man es mit Timer-Interrupt macht. Allerdings möchte ich es direkt mit DMA einrichten .. Betrieb Uhr ist bei 144 MHz (und sollte da sein) -> ADC-Uhr ist APB2/2 = 36MHz Jetzt mit ADC_SMPR1 kann ich 12 + 480 Zyklen hinzufügen, die nicht ist genug. Gibt es eine clevere Möglichkeit, den ADC-Takt auf 8Khz herunterzusetzen?stm32f4discovery A/D Einrichtung
0
A
Antwort
1
Um DMA und ADC zu verwenden, reduzieren Sie nicht die Geschwindigkeit von Core oder DMA. Erwähnte Uhren haben keinen Einfluss auf die Abtastrate. Die Abtastrate muss vom Timer eingestellt werden! Aber Sie sollten keinen Timer-Interrupt verwenden! Verwenden Sie das folgende Schema:
- Setup-Timer auf 8KHZ, ich nehme an, Sie haben es aber nicht aktivieren interrypt!
- das Ereignis Set ADC Konvertierung zu starten, zum Beispiel:
hadc.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T3_TRGO;
Konfitüren Timer-Master-Modus durch
HAL_TIMEx_MasterConfigSynchronization
Funktion Beispiel:TIM_MasterConfigTypeDef master_config = { .MasterOutputTrigger = TIM_TRGO_UPDATE, .MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE }; HAL_TIMEx_MasterConfigSynchronization(&hAudioInTim3, &master_config);
Run ADC:
HAL_ADC_Start_DMA(&hadc, buffer, size);
- Warten
HAL_ADC_ConvCpltCallback
Ereignis und dann verarbeiten Sie Ihre Daten.
Verwandte Themen
- 1. Hilfe bei der Einrichtung der B2B-Authentifizierung in Azure AD
- 2. Wie baue ich ajtcl 15.09a auf stm32f4discovery board
- 3. Einrichtung jenkins mit jenkins.war
- 4. React-Bootstrap korrekte Einrichtung
- 5. Mongo Db sekundäre Einrichtung
- 6. Android-Einrichtung androidTestCompile
- 7. mit Ruby-Einrichtung
- 8. Einrichtung Express/EJS Server
- 9. Tcl tclsh Einrichtung
- 10. MethodHandle Lookup-Einrichtung
- 11. Einrichtung der Broker-URL
- 12. Fehler Python Einrichtung protobuf
- 13. Einrichtung Entwicklungsumgebung (node_modules Vervielfältigung)
- 14. Azure AD vs. Azure AD B2C vs. Azure AD B2B
- 15. Postgres 9.6 neue Fortschrittsberichte Einrichtung
- 16. Doc-Zeichenfolge-Einrichtung in C++
- 17. Fehler bei dem CFNCluster Einrichtung
- 18. Spring Boot Einrichtung MongoDB Repository
- 19. Einrichtung einer Express JS App
- 20. Einrichtung Matlab Multi-Core-Computing
- 21. PHP: mysql Einrichtung ein Login
- 22. Einrichtung ein verspotteten injizierten Objekt
- 23. Empfohlene Einrichtung für Parse Server?
- 24. Einrichtung der Rails-Datenbank Polymorphismus
- 25. Apache2 - mehrere Sites, einfachste Einrichtung
- 26. Ausnahme Einrichtung Handler für AppDomain.AssemblyResolve
- 27. Einrichtung einer lokalen CICD-Setup
- 28. WordPress Testumgebung Einrichtung mit Subdomain
- 29. Mismatch Typ, wenn Pivotcache Einrichtung
- 30. Noob Hilfe; Einrichtung Android-Umgebung