dma

    1熱度

    1回答

    我使用aio在一個線程的不同磁盤上寫入多個文件。當我使用緩衝寫入時,IO處理是併發的。但CPU負載非常高。當我用DIRECT標誌打開文件時,IO處理不是併發的。 如何使用DMA在一個線程中同時寫入不同磁盤上的多個文件? #include <malloc.h> #include <stdio.h> #include <string.h> #include <iostream> #includ

    1熱度

    1回答

    我正在使用STM32F103,試圖使用DMA從一個陣列複製到另一個陣列。該傳輸第一次工作,並且DMA1_Channel1_IRQHandler中的一個斷點被擊中,但隨後對DMA_Cmd(DMA1_Channel1, ENABLE)的調用不起作用且斷點未被命中。錯誤標誌DMA1_FLAG_TE1未設置。是否還有其他需要設置/重置的轉移以便第二次運行? #include "stm32f10x.h"

    0熱度

    1回答

    你好我開始編程一個STM32F769I_Eval。 我是編程Cortex M4和使用RTOS的絕對初學者。 我使用基本示例開始。 現在我想使用帶有DMA的ADC來顯示LCD上的當前值。 我在沒有RTOS的簡單例子中試過這個,它工作得很好。 但是現在我構建了一個新項目,但顯示屏仍然黑屏。看來,使用HAL_ADC_START_DMA(...)後,它掛起。如果我註釋掉這一行,則顯示GUI。 #inclu

    0熱度

    1回答

    我想實現stm32f303發現的ADC1,ADC2和兩個DMA ADC通道的雙常規同時模式。 在CubeMX例子: 兩個DMA通道(一個用於ADC主,一個用於ADC從站)的用法是 也是可能的:這是在高 ADC轉換速率和應用的情況下建議的配置使用其他DMA頻道 集中。 根據AN4195 當使用DMA,有兩種可能的情況:•使用兩個 獨立的DMA通道用於主站和從站的。每個ADC(在這種情況下, MDMA

    1熱度

    1回答

    此問題的產生源於my other question。我決定創建一個新的,因爲這是我無法在任何地方找到的一件非常特別的事情。 在STM32F415中,我希望定時器的輸出比較默認爲高電平,而我告訴他的時鐘週期數量低。我的目標是禁用一個計時器使用另一個計時器。在Reference Manual第620頁中,上有一個示例,使用一個定時器啓用另一個定時器。 就我而言,我希望TIM3控制TIM2和TIM4來控

    0熱度

    1回答

    我有STM32F7迪斯科板與STM32F723IEK MCU。試圖從定時器觸發DMA請求會導致DMA錯誤,但僅限於連接到DMA1的APB1組(TIM2到TIM7等)的定時器。與連接到DMA2的TIM1和TIM8一樣,工作正常。該錯誤表現爲在相應的DMA LISR或HISR寄存器中設置TEIFx標誌,DMA在第一次事務後立即禁用。 NDTR寄存器減1。 根據數據表,TEIF錯誤可能由「總線錯誤」觸發

    2熱度

    1回答

    我正嘗試使用DAC和DMA生成頻率爲8kHz的三角波。使用定時器觸發DAC,以使DAC速度達到1 MSPS。我正在研究stm32L476發現板。我正在使用stm32CUBEMX進行代碼初始化。我的配置如下: 在stm32CUBEMX: Clock configuration : system clock = 80MHz APB1 and APB2 peripheral c

    1熱度

    1回答

    我想將一個非常大的內存塊的內容傳輸到一個足夠大的GPU緩衝區,然後立即改變CPU上內存的內容。事情是這樣的僞代碼: glBindBuffer(/*very_large_buffer*/); glBufferSubData(/*very_large_memory_chunk*/); memset(/*zeros*/, /*very_large_memory_chunk*/); 在這段代碼,什

    1熱度

    1回答

    我和朋友正試圖爲高級操作系統類編寫虛擬設備的設備驅動程序(讀取:不是PCI或USB)。我們正在使用Ubuntu 16.04。我們的任務是在我們的驅動程序中調用IOCTL併爲它提供一個完整的RGB值(一個整數數組),一個空目標緩衝區和一個長度的源緩衝區。我們將調用DMA控制器將源緩衝區的內容傳輸到目標緩衝區,然後對目標緩衝區中的值應用線性轉換。 我們已經成功地完成了沒有DMA的轉換,並且我們已經成功

    2熱度

    2回答

    我有一個STM32F4,我想PWM一個已經或運算帶着面具GPIO端口.. 所以,也許我們要在200kHz至PWM 0b00100010一段時間,但是接着,在10khz之後,我們現在想要PWM 0b00010001 ...然後,在10kHz之後,我們希望在相同的GPIO上PWM一些其他掩模。 我的問題是,你如何做到這一點與DMA?我試圖觸發一個DMA傳輸,將所有位設置在上升沿,然後再進行另一次DMA