Ich habe eine zirkuläre DMA, die ich aktualisieren möchte. Ist es möglich, einen Interrupt zu bekommen, wenn es halb fertig ist (damit ich die erste Hälfte aktualisieren kann)?Ist es möglich, eine Unterbrechung auf DMA auf halbem Wege zu erhalten STM32f0
2
A
Antwort
3
Ja, setzen Sie einfach das HTIE-Bit in das entsprechende Channel Configuration Register, z.
DMA1_Channel2->CCR |= DMA_CCR_HTIE;
für Kanal 2, bevor die Übertragung gestartet wird. Vergessen Sie nicht, die Priorität festzulegen und den Interrupt zu aktivieren.
Überprüfen Sie im Interrupt-Handler, ob es sich tatsächlich um einen Half-Transfer-Interrupt handelt, löschen Sie das Flag und führen Sie die erforderliche Verarbeitung aus.
void DMA1_Channel2_3_IRQHandler(void) {
if(DMA1->ISR & DMA_ISR_HTIF2) {
DMA1->IFCR = DMA_IFCR_CHTIF2;
memcpy(here, there, length/2);
}
}
Verwandte Themen
- 1. STM32F0 DMA "Eingang Überlauf"
- 2. Cubic Spline-Interpolation fällt auf halbem Wege
- 3. Python: String Reverse stoppt auf halbem Wege
- 4. Wie sind ungepufferte Videostreams auf halbem Wege gestartet?
- 5. Workbook.Open-Code stehen bleibt auf halbem Wege durch
- 6. JavaScript puts # in URL, neue Seite öffnet auf halbem Wege
- 7. Ist es möglich, programmatischen Zugriff auf Finder-Vorschaubilder zu erhalten?
- 8. XML-Parser plumpst plötzlich auf früheren geparsten lateinischen Zeichen auf halbem Wege durch Datei
- 9. Ist es möglich, Speicher-zu-Speicher-DMA-Übertragungen unter Linux durchzuführen? Wenn ja, welche Funktion ruft den DMA auf, um eine Übertragung zu beginnen?
- 10. STM32F4 TIM6-Unterbrechung passiert nicht, während DMA arbeitet
- 11. STM32F0 Ausgang von STOP auf SPI Empfangsunterbrechung
- 12. Ist es möglich, eine Antwort auf eine Methode über das Modell filter.values_list zu erhalten?
- 13. Ist eine Unterbrechung zwischen Task in Non RTOS-System möglich
- 14. Ist es möglich, einen Zeiger auf eine Referenz zu definieren?
- 15. Ist es möglich, eine eigene ID auf CKEditor zu setzen?
- 16. Warum ist es möglich, auf eine Rx zu warten?
- 17. Ist es möglich, Lokalisierung auf eine andere Sprache zu erzwingen?
- 18. Ist es möglich, eine App auf live.com zu hosten?
- 19. Ist es möglich, eine ungepufferte Webbrowser-Ausgabe zu erhalten?
- 20. Ist es möglich, den Simulatorzielnamen zu erhalten?
- 21. Ist es möglich, eine Klassenzusammenfassung zur Laufzeit zu erhalten?
- 22. Ist es möglich, in Piwik eine Inpage-Analyse zu erhalten?
- 23. Ist es möglich, einen Verweis auf das Array ausgewählter Werte auf einem Select2 zu erhalten?
- 24. Ist es möglich, direkt von GPU auf die Festplatte zuzugreifen?
- 25. Ist es möglich, eine Liste von Warteschlangen auf einem Remote-Broker zu erhalten?
- 26. Ist es möglich, einen Verweis auf eine Silverlight-Seite von einem WebPart zu erhalten?
- 27. Ist es möglich, leere Felder auf multi_select zu filtern?
- 28. Direkte SPU zu SPU DMA-Anfragen auf dem Cell Processor?
- 29. Ist es möglich, kendo Gitter dataItem auf Zellebene zu binden
- 30. Ist es möglich, eine ListViewGroup zu erstellen