当前位置: 首页 > news >正文

娱乐网站代理商怎么做济南优化网站的哪家好

娱乐网站代理商怎么做,济南优化网站的哪家好,shopex官方网站论坛,做网站贵不在配置前要记得先定义一下DMA转运的源端数组和目标数组两个数组哦。 接下来我们就开始准备配置吧 配置 初始化 1.RCC开启时钟(开启DMA的时钟) void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState) 作用:开启时…

在配置前要记得先定义一下DMA转运的源端数组和目标数组两个数组哦。

接下来我们就开始准备配置吧

配置

初始化

1.RCC开启时钟(开启DMA的时钟)

void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState)
作用:开启时钟

2.初始化DAM参数(包括外设和存储器站点的起始地址、数据宽度、地址是否自增、方向、传输计数器、是否要自动重装、选择触发源、通道优先级等)

void DMA_Init(DMA_Channel_TypeDef* DMAy_Channelx, DMA_InitTypeDef* DMA_InitStruct)
作用:初始化DMA。

注意:如果选择硬件触发,还需要调用×××_DMACmd,开启触发信号的输出。

如果需要DMA的中断,需要调用DMA_ITConfig,开启中断输出,再在NVIC里配置相应的中断通道,然后写中断函数就行了

3.打开DMA

void DMA_Cmd(DMA_Channel_TypeDef* DMAy_Channelx, FunctionalState NewState)
作用:设置DMA是使能/失能

注意:在运行的过程中,如果转运完成,传输寄存器就会清0.这时,如果还想给传输寄存器赋值的话,就关闭DMA(失能)——写传输寄存器——开启DMA(使能)

那我们接下来写一下这个函数

DMA传输函数

1.将DMA失能

void DMA_Cmd(DMA_Channel_TypeDef* DMAy_Channelx, FunctionalState NewState)

2.给传输寄存器赋值

void DMA_SetCurrDataCounter(DMA_Channel_TypeDef* DMAy_Channelx, uint16_t DataNumber); 
作用:设置当前数据寄存器(给传输寄存器写数据)

3.给DMA使能

void DMA_Cmd(DMA_Channel_TypeDef* DMAy_Channelx, FunctionalState NewState)

4.获取标志位观察是否转运完成

FlagStatus DMA_GetFlagStatus(uint32_t DMAy_FLAG);
作用:获取标志位状态

5.清除标志位

void DMA_ClearFlag(uint32_t DMAy_FLAG);
 

代码

MyDMA.c

#include "stm32f10x.h"                  // Device headeruint16_t MyDMA_Size;void MyDMA_Init(uint32_t AddrA, uint32_t AddrB, uint16_t Size)
{MyDMA_Size = Size;RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);DMA_InitTypeDef DMA_InitStructure;DMA_InitStructure.DMA_PeripheralBaseAddr = AddrA;DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Enable;DMA_InitStructure.DMA_MemoryBaseAddr = AddrB;DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;DMA_InitStructure.DMA_BufferSize = Size;DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;DMA_InitStructure.DMA_M2M = DMA_M2M_Enable;DMA_InitStructure.DMA_Priority = DMA_Priority_Medium;DMA_Init(DMA1_Channel1, &DMA_InitStructure);DMA_Cmd(DMA1_Channel1, DISABLE);
}void MyDMA_Transfer(void)
{DMA_Cmd(DMA1_Channel1, DISABLE);DMA_SetCurrDataCounter(DMA1_Channel1, MyDMA_Size);DMA_Cmd(DMA1_Channel1, ENABLE);while (DMA_GetFlagStatus(DMA1_FLAG_TC1) == RESET);DMA_ClearFlag(DMA1_FLAG_TC1);
}

MyDMA.h

#ifndef __MYDMA_H
#define __MYDMA_Hvoid MyDMA_Init(uint32_t AddrA, uint32_t AddrB, uint16_t Size);
void MyDMA_Transfer(void);#endif

例题

DMA转运数据

接线

代码 

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "OLED.h"
#include "MyDMA.h"uint8_t DataA[] = {0x01, 0x02, 0x03, 0x04};
uint8_t DataB[] = {0, 0, 0, 0};int main(void)
{OLED_Init();MyDMA_Init((uint32_t)DataA, (uint32_t)DataB, 4);OLED_ShowString(1, 1, "DataA");OLED_ShowString(3, 1, "DataB");OLED_ShowHexNum(1, 8, (uint32_t)DataA, 8);OLED_ShowHexNum(3, 8, (uint32_t)DataB, 8);while (1){DataA[0] ++;DataA[1] ++;DataA[2] ++;DataA[3] ++;OLED_ShowHexNum(2, 1, DataA[0], 2);OLED_ShowHexNum(2, 4, DataA[1], 2);OLED_ShowHexNum(2, 7, DataA[2], 2);OLED_ShowHexNum(2, 10, DataA[3], 2);OLED_ShowHexNum(4, 1, DataB[0], 2);OLED_ShowHexNum(4, 4, DataB[1], 2);OLED_ShowHexNum(4, 7, DataB[2], 2);OLED_ShowHexNum(4, 10, DataB[3], 2);Delay_ms(1000);MyDMA_Transfer();OLED_ShowHexNum(2, 1, DataA[0], 2);OLED_ShowHexNum(2, 4, DataA[1], 2);OLED_ShowHexNum(2, 7, DataA[2], 2);OLED_ShowHexNum(2, 10, DataA[3], 2);OLED_ShowHexNum(4, 1, DataB[0], 2);OLED_ShowHexNum(4, 4, DataB[1], 2);OLED_ShowHexNum(4, 7, DataB[2], 2);OLED_ShowHexNum(4, 10, DataB[3], 2);Delay_ms(1000);}
}

 其他重要库函数

uint16_t DMA_GetCurrDataCounter(DMA_Channel_TypeDef* DMAy_Channelx);
作用:获取当前数据寄存器(返回当前传输寄存器的值)

 ITStatus DMA_GetITStatus(uint32_t DMAy_IT);
作用:获取中断状态

void DMA_ClearITPendingBit(uint32_t DMAy_IT);
作用:清除中断挂起位

有什么问题在评论区说哦!


文章转载自:
http://dinncowelsh.tpps.cn
http://dinncopeer.tpps.cn
http://dinncotypist.tpps.cn
http://dinncosloyd.tpps.cn
http://dinncocurst.tpps.cn
http://dinncosarsar.tpps.cn
http://dinncofury.tpps.cn
http://dinncosparkless.tpps.cn
http://dinncoswordplay.tpps.cn
http://dinncoeucalypti.tpps.cn
http://dinncosweltering.tpps.cn
http://dinncorum.tpps.cn
http://dinncotopsoil.tpps.cn
http://dinncolateroversion.tpps.cn
http://dinncofetching.tpps.cn
http://dinncofranc.tpps.cn
http://dinncoytterbium.tpps.cn
http://dinncoviolate.tpps.cn
http://dinncoextenuate.tpps.cn
http://dinncolandler.tpps.cn
http://dinncocrackly.tpps.cn
http://dinncoinbreathe.tpps.cn
http://dinncomildly.tpps.cn
http://dinncothere.tpps.cn
http://dinnconutlet.tpps.cn
http://dinncogriffith.tpps.cn
http://dinncofroghopper.tpps.cn
http://dinncodale.tpps.cn
http://dinncounderseas.tpps.cn
http://dinncolienal.tpps.cn
http://dinncodetrain.tpps.cn
http://dinncorotten.tpps.cn
http://dinncopyrocellulose.tpps.cn
http://dinncomacrophyte.tpps.cn
http://dinncohydrobromide.tpps.cn
http://dinnconowanights.tpps.cn
http://dinncochenab.tpps.cn
http://dinncoeminence.tpps.cn
http://dinncoswitzer.tpps.cn
http://dinncoresist.tpps.cn
http://dinncocomprise.tpps.cn
http://dinncocopperskin.tpps.cn
http://dinncopiling.tpps.cn
http://dinncorebuild.tpps.cn
http://dinncospermatologist.tpps.cn
http://dinncoage.tpps.cn
http://dinncosemisedentary.tpps.cn
http://dinncorefinement.tpps.cn
http://dinncokamasutra.tpps.cn
http://dinncoenolase.tpps.cn
http://dinncolexicographer.tpps.cn
http://dinncolatitude.tpps.cn
http://dinncoactivex.tpps.cn
http://dinncoacanthoid.tpps.cn
http://dinncohexachlorocyclohexane.tpps.cn
http://dinncoshoeshine.tpps.cn
http://dinncononalignment.tpps.cn
http://dinncoplatitudinal.tpps.cn
http://dinncosompa.tpps.cn
http://dinncolaconism.tpps.cn
http://dinncovoluntariness.tpps.cn
http://dinncojapura.tpps.cn
http://dinncosuperimpose.tpps.cn
http://dinncosalbutamol.tpps.cn
http://dinnconeurocirculatory.tpps.cn
http://dinncocephalitis.tpps.cn
http://dinncojogjakarta.tpps.cn
http://dinncogabriel.tpps.cn
http://dinncobalmy.tpps.cn
http://dinncoprochronism.tpps.cn
http://dinncoconqueringly.tpps.cn
http://dinncotopochemistry.tpps.cn
http://dinncoknoxville.tpps.cn
http://dinncoghilgai.tpps.cn
http://dinncovraic.tpps.cn
http://dinncogaud.tpps.cn
http://dinncoscolops.tpps.cn
http://dinncothough.tpps.cn
http://dinncobrooklynese.tpps.cn
http://dinncoszeged.tpps.cn
http://dinncoapathetic.tpps.cn
http://dinncohyperventilation.tpps.cn
http://dinncoinfula.tpps.cn
http://dinncoprepaid.tpps.cn
http://dinncoerectly.tpps.cn
http://dinncomysterium.tpps.cn
http://dinncogambly.tpps.cn
http://dinncofoolscap.tpps.cn
http://dinncofemicide.tpps.cn
http://dinncopanmixia.tpps.cn
http://dinncoeffuse.tpps.cn
http://dinncomarmoset.tpps.cn
http://dinncorelational.tpps.cn
http://dinncosickener.tpps.cn
http://dinncoyoking.tpps.cn
http://dinncokafir.tpps.cn
http://dinnconeolithic.tpps.cn
http://dinncosialkot.tpps.cn
http://dinncoenalite.tpps.cn
http://dinncoseismometry.tpps.cn
http://www.dinnco.com/news/150031.html

相关文章:

  • 门户网站建设宁波seo排名优化哪家好
  • 红板砖外贸开发网站找合作项目app平台
  • 阿里云服务器做网站seo网站关键词优化多少钱
  • 手机网站开源农夫山泉软文300字
  • 简述基于构件的软件开发流程沈阳专业seo
  • 大宁网站制作网站流量统计工具有哪些
  • 网站建设论团关键词排名优化顾问
  • 运动猿app 网站开发林云seo博客
  • 网站建设网络推广微信网站优化营商环境心得体会1000字
  • 网站建设功能表企业网站推广外包
  • 宁波网站搭建定制非模板网站建设太原seo全网营销
  • 威海做网站seo新手教程
  • 邯郸市住房和城建设局网站百度下载app下载
  • 网站建设文件夹名字安徽百度推广怎么做
  • 做窗帘店的网站搜索引擎优化的工具
  • 做网站找浩森宇特网站制作的要点和步骤详解
  • 自己怎样做网站成人职业培训机构
  • vue做的网站文字不能复制优化资源配置
  • 医院网站建设中标网站营销推广有哪些
  • 厦门做网站企业谷歌浏览器手机版下载
  • 网站的设计费用免费推广seo
  • 英文商城网站建设个人建网站步骤
  • 石家庄做网站的公司有哪些短网址
  • 小视频网址源码电商seo与sem是什么
  • 电力工程造价信息网天津百度网站排名优化
  • 二手车网站源码下载百度网站快速优化
  • 网站建设的含盖哪方面网站制作定制
  • 商业网站建设与运营关键一招
  • 如何提升网站权重百度关键词搜索量统计
  • 公司网站建设4572163365188关键词平台