zoukankan      html  css  js  c++  java
  • STM32 之 DMA

    //时钟配置
    void
    RCC_Configuartion(void) { RCC_APB2PeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);//打开DMA1时钟 } //中断管理配置 void NVIC_Configuration(void) { NVIC_InitTypeDef NVIC_InitStructure; #ifdef VECT_TAB_RAM NVIC_SetVectorTable(NVIC_VectTab_RAM,0x0); #else NVIC_SetVectorTable(NVIC_VectTab_FLASH,0x0); #endif NVIC_InitStructure.NVIC_IRQChannel=DMA1_Channel6_IRQ; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0; NVIC_InitStructure.NVIC_IRQChannelSubPriority=0; NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE; NVIC_Init(&NVIC_InitStructure); }
    //DMA配置
    void DMA_Configuration(void) { DMA_InitTypeDef DMA_InitStructure; DMA_Init(DMA_Channel6); DMA_InitStructure.DMA_PeripheralBaseAddr=(u32) SRC_Const_Buffer; DMA_InitStructure.MDA_MemoryBaseAddr=(u32)DST_Buffer; DMA_InitStructure.DMA_DIR=DMA_DIR_PeripheralSRC; DMA_InitStructure.DMA_BufferSize=BufferSize;//32 DMA_InitStructure.DMA_PeripheralInc=DMA_PeripherialInc_Enable; DMA_InitStructure.DMA_MemoryInc=DMA_MemoryInc_Enable; DMA_InitStructure.DMA_PeripheralDataSize=DMA_PeripheralDataSize_Word; DMA_InitStructure.DMA_MemoryDataSize=DMA_MemoryDataSize_Word; DMA_InitStructure.DMA_Mode=DMA_Priority=DMA_Mode_Normal; DMA_InitStructure.DMA_Priority=DMA_Priority_High; DMA_InitStructure.DMA_M2M=DMA_M2M_Enable; DMA_Init(DMA1_Chanel6,&DMA_InitStructure); DMA_ITConfig(DMA1_Channel6,DMA_IT_TC,ENABLE);//开启DMA完成中断 CurrDataCounter=DMA_GetCurrDataCounter(DMA1_Channel6);//读出当前数据量计数值 }
    //中断函数入口
    void DMA1_Channel6_IRQHandler(void) { CurrDataCounterDMA_GetCurrData_Counter(DMA1_Channel6); DMA_ClearITPendingBit(DMA1_IT_GL6); }
  • 相关阅读:
    MySql优化-你的SQL命中索引了吗
    php根据两点经纬度算距离
    二维数组排序
    php 求对数
    socket,websocket,socketio之间的关系
    PHP获取两个时间戳间的所有日期
    通过动画理解Raft公式算法
    Fabric创建通道、组织加入通道
    查看进程线程的方法
    Fabric添加节点
  • 原文地址:https://www.cnblogs.com/yeshuimaowei/p/5157316.html
Copyright © 2011-2022 走看看