zoukankan      html  css  js  c++  java
  • 【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 */
        
      //²âÊÔDMA£¬²âÊԳɹ¦À¶µÆÉÁ˸£¬²âÊÔʧ°Ü£¬ºìµÆÉÁ˸
      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);   // ¼ì²é·¢ËͺͽÓÊÕµÄÊý¾ÝÊÇ·ñÏàµÈ 
        
        if(TransferStatus == SUCCEED)    // Èç¹û½ÓÊպͷ¢Ë͵ÄÊý¾Ý¶¼ÊÇÏàͬµÄ£¬Ôòͨ¹ý 
    
        {            
                while(1){
                        LED_BLUE_TOGGLE;
                        HAL_Delay(1000);        
                }            
        }
        else                                                      // Èç¹û½ÓÊպͷ¢Ë͵ÄÊý¾Ý²»Í¬£¬Ôò´«Êä³ö´í 
    
        {
                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

  • 相关阅读:
    C++编写ATM(2)
    【Python排序搜索基本算法】之Dijkstra算法
    Java中List转换为数组,数组转List
    [置顶] 亚信联创实习笔记
    PL/SQL 异常处理程序
    CSS position财产
    malloc()与calloc差异
    Qt5官方demo分析集10——Qt Quick Particles Examples
    栈和堆之间的差
    深入浅出JMS(一)——JMS简要
  • 原文地址:https://www.cnblogs.com/xiaomagee/p/7477276.html
Copyright © 2011-2022 走看看