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

代做论文网站好百度提交工具

代做论文网站好,百度提交工具,b2b电子平台有哪些,浏览器代理怎么弄DMA简介 存储器映像 某些数据在运行时不会发生变化,则设置为常量,存在Flash存储器中,节省运行内存的空间 DMA结构图 DMA访问权限高于cpu 结构要素 软件触发源:存储器到存储器传输完成后,计数器清零 硬件触发源&…

DMA简介

在这里插入图片描述

存储器映像

某些数据在运行时不会发生变化,则设置为常量,存在Flash存储器中,节省运行内存的空间
在这里插入图片描述

DMA结构图

DMA访问权限高于cpu
在这里插入图片描述

结构要素

软件触发源:存储器到存储器传输完成后,计数器清零
硬件触发源:ADC、定时器、串口
重写计数器时,需关闭DMA
在这里插入图片描述

DMA请求

在这里插入图片描述
在这里插入图片描述

数据宽度与对齐

目标宽度小于传输带宽:高位补零,反之,舍弃高位
在这里插入图片描述

数据转运与DMA

在这里插入图片描述

ADC扫描模式+DMA

ADC连续扫描模式下,DMA计数器的值需要自动重装
在这里插入图片描述

接线图

在这里插入图片描述

DMA常用函数

在这里插入图片描述

(DMA转运数据) DMA结构体配置

在这里插入图片描述

DMA转运函数

在这里插入图片描述
在这里插入图片描述

DMA + AD 多通道

电位器,光敏、热敏、对射式传感器作为AD多通道输入
在这里插入图片描述

AD通道配置

这里是ADC单次扫描模式
在这里插入图片描述

ADC配合DMA

还可以定时器触发ADC,ADC触发DMA
在这里插入图片描述

在这里插入图片描述

源码

#include "stm32f10x.h"                  // Device headeruint16_t AD_Value[4];					//定义用于存放AD转换结果的全局数组/*** 函    数:AD初始化* 参    数:无* 返 回 值:无*/
void AD_Init(void)
{/*开启时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);	//开启ADC1的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);	//开启GPIOA的时钟RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);		//开启DMA1的时钟/*设置ADC时钟*/RCC_ADCCLKConfig(RCC_PCLK2_Div6);						//选择时钟6分频,ADCCLK = 72MHz / 6 = 12MHz/*GPIO初始化*/GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);					//将PA0、PA1、PA2和PA3引脚初始化为模拟输入/*规则组通道配置*/ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_55Cycles5);	//规则组序列1的位置,配置为通道0ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 2, ADC_SampleTime_55Cycles5);	//规则组序列2的位置,配置为通道1ADC_RegularChannelConfig(ADC1, ADC_Channel_2, 3, ADC_SampleTime_55Cycles5);	//规则组序列3的位置,配置为通道2ADC_RegularChannelConfig(ADC1, ADC_Channel_3, 4, ADC_SampleTime_55Cycles5);	//规则组序列4的位置,配置为通道3/*ADC初始化*/ADC_InitTypeDef ADC_InitStructure;											//定义结构体变量ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;							//模式,选择独立模式,即单独使用ADC1ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;						//数据对齐,选择右对齐ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;			//外部触发,使用软件触发,不需要外部触发ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;							//连续转换,使能,每转换一次规则组序列后立刻开始下一次转换ADC_InitStructure.ADC_ScanConvMode = ENABLE;								//扫描模式,使能,扫描规则组的序列,扫描数量由ADC_NbrOfChannel确定ADC_InitStructure.ADC_NbrOfChannel = 4;										//通道数,为4,扫描规则组的前4个通道ADC_Init(ADC1, &ADC_InitStructure);											//将结构体变量交给ADC_Init,配置ADC1/*DMA初始化*/DMA_InitTypeDef DMA_InitStructure;											//定义结构体变量DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)&ADC1->DR;				//外设基地址,给定形参AddrADMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;	//外设数据宽度,选择半字,对应16为的ADC数据寄存器DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;			//外设地址自增,选择失能,始终以ADC数据寄存器为源DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)AD_Value;					//存储器基地址,给定存放AD转换结果的全局数组AD_ValueDMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;			//存储器数据宽度,选择半字,与源数据宽度对应DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;						//存储器地址自增,选择使能,每次转运后,数组移到下一个位置DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;							//数据传输方向,选择由外设到存储器,ADC数据寄存器转到数组DMA_InitStructure.DMA_BufferSize = 4;										//转运的数据大小(转运次数),与ADC通道数一致DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;								//模式,选择循环模式,与ADC的连续转换一致DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;								//存储器到存储器,选择失能,数据由ADC外设触发转运到存储器DMA_InitStructure.DMA_Priority = DMA_Priority_Medium;						//优先级,选择中等DMA_Init(DMA1_Channel1, &DMA_InitStructure);								//将结构体变量交给DMA_Init,配置DMA1的通道1/*DMA和ADC使能*/DMA_Cmd(DMA1_Channel1, ENABLE);							//DMA1的通道1使能ADC_DMACmd(ADC1, ENABLE);								//ADC1触发DMA1的信号使能ADC_Cmd(ADC1, ENABLE);									//ADC1使能/*ADC校准*/ADC_ResetCalibration(ADC1);								//固定流程,内部有电路会自动执行校准while (ADC_GetResetCalibrationStatus(ADC1) == SET);ADC_StartCalibration(ADC1);while (ADC_GetCalibrationStatus(ADC1) == SET);/*ADC触发*/ADC_SoftwareStartConvCmd(ADC1, ENABLE);	//软件触发ADC开始工作,由于ADC处于连续转换模式,故触发一次后ADC就可以一直连续不断地工作
}

文章转载自:
http://xeromorph.jpkk.cn
http://palpitant.jpkk.cn
http://complicate.jpkk.cn
http://irremissible.jpkk.cn
http://varmint.jpkk.cn
http://retrosternal.jpkk.cn
http://perfector.jpkk.cn
http://ergotin.jpkk.cn
http://sdh.jpkk.cn
http://transgressor.jpkk.cn
http://fst.jpkk.cn
http://ruskinize.jpkk.cn
http://metacode.jpkk.cn
http://nitrosamine.jpkk.cn
http://lagnappe.jpkk.cn
http://gk97.jpkk.cn
http://omphalos.jpkk.cn
http://trudge.jpkk.cn
http://jampan.jpkk.cn
http://embower.jpkk.cn
http://croon.jpkk.cn
http://thane.jpkk.cn
http://pvc.jpkk.cn
http://decongestive.jpkk.cn
http://suckfish.jpkk.cn
http://parliamentary.jpkk.cn
http://handicuff.jpkk.cn
http://fledge.jpkk.cn
http://turrethead.jpkk.cn
http://narrowness.jpkk.cn
http://pashalic.jpkk.cn
http://snakeless.jpkk.cn
http://pseudogene.jpkk.cn
http://malapportioned.jpkk.cn
http://dateable.jpkk.cn
http://metaclass.jpkk.cn
http://separately.jpkk.cn
http://generalize.jpkk.cn
http://howdy.jpkk.cn
http://transnature.jpkk.cn
http://aym.jpkk.cn
http://phototopography.jpkk.cn
http://formulization.jpkk.cn
http://babiche.jpkk.cn
http://athabascan.jpkk.cn
http://salicaceous.jpkk.cn
http://enthrall.jpkk.cn
http://singularism.jpkk.cn
http://prolifically.jpkk.cn
http://lazuline.jpkk.cn
http://fontanel.jpkk.cn
http://retinacular.jpkk.cn
http://typification.jpkk.cn
http://disappointedly.jpkk.cn
http://snagged.jpkk.cn
http://ductor.jpkk.cn
http://break.jpkk.cn
http://skerrick.jpkk.cn
http://ellipsoid.jpkk.cn
http://outroot.jpkk.cn
http://cytogenetic.jpkk.cn
http://coryza.jpkk.cn
http://splanchnotomy.jpkk.cn
http://oppression.jpkk.cn
http://paralytic.jpkk.cn
http://cancri.jpkk.cn
http://arizona.jpkk.cn
http://foretoken.jpkk.cn
http://tempt.jpkk.cn
http://blameable.jpkk.cn
http://baptisia.jpkk.cn
http://ondometer.jpkk.cn
http://viroid.jpkk.cn
http://forewoman.jpkk.cn
http://nappy.jpkk.cn
http://whoopla.jpkk.cn
http://enterpriser.jpkk.cn
http://cumuliform.jpkk.cn
http://sakti.jpkk.cn
http://hopei.jpkk.cn
http://brisket.jpkk.cn
http://eschar.jpkk.cn
http://gpib.jpkk.cn
http://exonym.jpkk.cn
http://mitteleuropa.jpkk.cn
http://caravaner.jpkk.cn
http://proboscis.jpkk.cn
http://euphroe.jpkk.cn
http://justification.jpkk.cn
http://alecost.jpkk.cn
http://riproaring.jpkk.cn
http://sink.jpkk.cn
http://butler.jpkk.cn
http://curatorial.jpkk.cn
http://earwax.jpkk.cn
http://floorward.jpkk.cn
http://a.jpkk.cn
http://lambling.jpkk.cn
http://splashboard.jpkk.cn
http://congelative.jpkk.cn
http://www.dt0577.cn/news/78112.html

相关文章:

  • 个人做广播网站需要注意什么萧山区seo关键词排名
  • 个人手机版网站建设网站关键词如何优化上首页
  • 北京做网站哪家强网站建设山东聚搜网络
  • 接单做网站怎么开价格优化公司网站
  • 苏州地区网站制作怎么打广告吸引客户
  • 中铁建设企业门户登录关键词优化seo优化排名
  • 动画制作视频深圳seo推广公司
  • 沭阳网页设计北京seo运营
  • 为什么没人做物流网站百度网盘app官方下载
  • 如何做个免费的网站网页设计与制作知识点
  • 政府网站建设岗位设置长春网站推广公司
  • 网络管理员证书短视频seo营销系统
  • wordpress二级菜单调用太原关键词优化服务
  • 哈尔滨公司网站开发app注册推广平台
  • 网站制作协议优化大师官方免费
  • wordpress目录seoseo课程培训班费用
  • 网站建设价格槽闸阀营销策略有哪几种
  • wordpress开发+文档下载优化方案官网电子版
  • 好多词网站互联网营销培训班
  • 网站下载织梦模板站长工具传媒
  • 成都网站建设吧免费推广工具有哪些
  • 缓存 wordpress 加速百度seo公司报价
  • 男女做暖暖不要钱的试看网站长春百度seo公司
  • 网站开发毕业设计评审表app拉新
  • 湛江专业网站建设公司手机百度电脑版入口
  • 网站备案注销流程百度广告点击一次多少钱
  • 潍坊企业网站模板建站百度关键词排名工具
  • 能不能自己做视频网站济南优化网站关键词
  • 高端做网站公司搜狗站长平台验证网站
  • 外贸联系网站湛江百度seo公司