日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【iCore1S 双核心板_ARM】例程十二:DMA实验——存储器到存储器的传输

發布時間:2023/12/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【iCore1S 双核心板_ARM】例程十二:DMA实验——存储器到存储器的传输 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實驗原理:

  DAM(直接存儲器訪問)傳輸不需要占用CPU,可以在存儲器至存儲器實現高速的數據

傳輸。本實驗采用DAM2控制器的數據流0,選用通道0進行數據傳輸。通過LED的顏色來

判斷傳輸是否成功。

實驗現象:

  實驗成功藍色LED燈閃爍,實驗失敗紅色LED燈閃爍。

核心代碼:

int main(void) {/* USER CODE BEGIN 1 */HAL_StatusTypeDef har_status;/* USER CODE END 1 *//* MCU Configuration----------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* Configure the system clock */SystemClock_Config();/* Initialize all configured peripherals */MX_GPIO_Init();MX_DMA_Init();SystemClock_Config();/* USER CODE BEGIN 2 *///2aê?DMA£?2aê?3é1|à?μ?éá??£?2aê?ê§°ü£?oìμ?éá??har_status=HAL_DMA_Start(&hdma_memtomem_dma1_channel1,(uint32_t)&SRC_Const_Buffer,(uint32_t)&DST_Buffer,32);if(har_status==HAL_OK){TransferStatus = Buffercmp(SRC_Const_Buffer, DST_Buffer, 32); // ?ì2é·¢?íoí?óê?μ?êy?Yê?·??àμè if(TransferStatus == SUCCEED) // è?1??óê?oí·¢?íμ?êy?Y??ê??àí?μ?£??òí¨1y { while(1){LED_BLUE_TOGGLE;HAL_Delay(1000); } }else // è?1??óê?oí·¢?íμ?êy?Y2?í?£??ò′?ê?3?′í {while(1){LED_RED_TOGGLE;HAL_Delay(1000); } }}/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */}/* USER CODE END 3 */}

源代碼下載鏈接:

鏈接:http://pan.baidu.com/s/1c6h7rg 密碼:hfza

總結

以上是生活随笔為你收集整理的【iCore1S 双核心板_ARM】例程十二:DMA实验——存储器到存储器的传输的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。