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

专业营销型网站定制网页开发

专业营销型网站定制,网页开发,做网站郑州汉狮,ppt模板免费下载百度文库一、介绍 MDS(MindSwitch)的作用是在不借助软件干预的情况下使几个不同的外设协同工作。它连接了若干 个源模块(比如 TIMx,EXTIx 等)和目标模块(比如 ADCx,DACx 等)。通过寄存器配置…

一、介绍

MDS(MindSwitch)的作用是在不借助软件干预的情况下使几个不同的外设协同工作。它连接了若干
个源模块(比如 TIMx,EXTIx 等)和目标模块(比如 ADCx,DACx 等)。通过寄存器配置可以选通任意
一个源和目标之间的连接通道,使目标模块可以成功接收到源信号并自动开始预设的动作。

支持触发通道和连接通道
 可配置触发源和触发目标
 触发源和触发目标可自由配置
 支持外设硬件触发和软件触发
 内部集成四个组合逻辑单元 CLU(Combinational Logic Unit),提供 or-or 组合逻辑操作。
 可配置连接源和连接目标
 连接源和连接目标可自由配置
 内部集成四个组合逻辑单元 CLU(Combinational Logic Unit),提供多种组合逻辑操作。
 支持不同时钟频率的触发源和触发目标之间协同工作

触发目标分为触发(trigger)和连接(connection)两种,MindSwitch 会与触发类型的目标做握手,
以确保触发源能被触发目标正确接收,如 ADC/DAC 等的外部触发。对于连接类型的目标,MindSwitch 会
将选择过后的触发源与目标直接连接,如比较器输出窗口和 GPIO 等。

以上为用户手册中关于MDS的介绍,第一次在MCU中看到MDS这样的模块,说实话没有任何经验,只是感觉是一个很有趣的功能。

二、例程研究

以ADC和EXTI triger例程为例,路径:LibSamples_MM32F5260_V0.11.3\Samples\LibSamples\MDS\MDS_ADC_EXTI_Trigger

1、ADC初始化

 RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);ADC_CalibrationConfig(ADC1, 0x1FE);ADC_StructInit(&ADC_InitStruct);ADC_InitStruct.ADC_Resolution = ADC_Resolution_12b;ADC_InitStruct.ADC_Prescaler  = ADC_Prescaler_16;ADC_InitStruct.ADC_Mode       = ADC_Mode_Scan;ADC_InitStruct.ADC_DataAlign  = ADC_DataAlign_Right;ADC_Init(ADC1, &ADC_InitStruct);ADC_SampleTimeConfig(ADC1, ADC_Channel_1, ADC_SampleTime_240_5);ADC_SampleTimeConfig(ADC1, ADC_Channel_4, ADC_SampleTime_240_5);ADC_SampleTimeConfig(ADC1, ADC_Channel_5, ADC_SampleTime_240_5);ADC_ChannelCmd(ADC1, ADC_Channel_1, ENABLE);ADC_ChannelCmd(ADC1, ADC_Channel_4, ENABLE);ADC_ChannelCmd(ADC1, ADC_Channel_5, ENABLE);ADC_ExternalTrigSourceConfig(ADC1, ADC_ExtTrig_Edge_Up, ADC_ExtTrig_Shift_16);ADC_ExternalTrigConvCmd(ADC1, ENABLE);

配置了ADC1的3个通道:1、4、5,通过外部中断触发ADC采样

2、MDS初始化

  MDS_TriggerNotCluStructInit(&MDS_TriggerNotCLU);MDS_TriggerNotCLU.MDS_Channel     = MDS_TriggerOutput_ADC1_EXT_TRIGGER;MDS_TriggerNotCLU.MDS_InputEdge   = MDS_InputEdge_Both;MDS_TriggerNotCLU.MDS_InputSource = MDS_TriggerSource_EXTI1;MDS_TriggerNotCluInit(&MDS_TriggerNotCLU);

配置了触发源为EXTI1,触发目标为ADC1。

3、EXTI1初始化

    /* K2->PB1->EXTI_Line1 */GPIO_StructInit(&GPIO_InitStruct);GPIO_InitStruct.GPIO_Pin  = GPIO_Pin_1;GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU;GPIO_Init(GPIOB, &GPIO_InitStruct);SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOB, EXTI_PinSource1);EXTI_StructInit(&EXTI_InitStruct);EXTI_InitStruct.EXTI_Line    = EXTI_Line1;EXTI_InitStruct.EXTI_Mode    = EXTI_Mode_Event;EXTI_InitStruct.EXTI_Trigger = EXTI_Trigger_Falling;EXTI_InitStruct.EXTI_LineCmd = ENABLE;EXTI_Init(&EXTI_InitStruct);

K2(B1)配置为EXTI1

4、主循环

   while (1){while (RESET == ADC_GetFlagStatus(ADC1, ADC_FLAG_EOS)){}ADC_ClearFlag(ADC1, ADC_FLAG_EOS);if (RESET !=  EXTI_GetFlagStatus(EXTI_Line1)){EXTI_ClearFlag(EXTI_Line1);}Voltage[0] = (float)ADC_GetChannelConvertedValue(ADC1, ADC_Channel_1) * (float)3.3 / (float)4096.0;Voltage[1] = (float)ADC_GetChannelConvertedValue(ADC1, ADC_Channel_4) * (float)3.3 / (float)4096.0;Voltage[2] = (float)ADC_GetChannelConvertedValue(ADC1, ADC_Channel_5) * (float)3.3 / (float)4096.0;printf("\r\nPA1 Voltage = %0.2f  \tPA4 Voltage = %0.2f  \tPA5 Voltage = %0.2f", Voltage[0], Voltage[1], Voltage[2]);}

按下K2采集一次,否则在“while (RESET == ADC_GetFlagStatus(ADC1, ADC_FLAG_EOS))”中循环。

在这里插入图片描述

用其他的方法也可以实现按键触发ADC采样。使用MDS的好处应该是不用软件干预而设外协同工作,也就是用EXTI1触发ADC1不占用CPU时间,这应该和DMA的设计出发点是一致,而且还可以提高效率。毕竟是新知识,对各项配置参数没有深入了解。

http://www.dtcms.com/wzjs/389898.html

相关文章:

  • 我要建立个人网站seo企业优化方案
  • 网络工作室图移动网站优化排名
  • 找人做网站需要什么软件网页搜索排名提升
  • 做本地网站赚钱吗制作电商网站
  • 国外免费b2b网站大全黄页百度快速收录教程
  • wordpress站群代软文推广收费
  • 攻略类型网站如何做产品营销河南整站关键词排名优化软件
  • 高端饰品品牌有哪些seo优化器
  • 淄博网站建设企业aso优化推广
  • 广东省医院建设协会网站seo是什么职位
  • 东莞网站建设方案咨询百度推广电话号码
  • 成都官方网站建设自己有域名怎么建网站
  • 河南省精品旅游线路发布北京搜索引擎优化
  • 确定网站建设的目的东莞网站seo优化
  • 选择美国网站网络营销的8个基本职能
  • 泰安百度贴吧沈阳seo优化排名公司
  • bugku中网站被黑怎么做百度怎么发布自己的信息
  • 网站建设平台源码提供网站是如何建立的
  • 怎么提高网站的转化率百度快照推广
  • 北京网站设计推荐柚米宁波关键词排名优化
  • 渝北集团网站建设谷歌关键词搜索排名
  • 充值网站怎么做简述什么是百度竞价排名
  • 广告网站怎么做北大青鸟培训机构官网
  • 中国做网站公司排名seo技术团队
  • 网站app怎么制作郑州seo顾问外包
  • 上海网站建设推广服务头条指数
  • 网页微信文件传输助手奉化首页的关键词优化
  • 精品资料网如何免费下载aso优化重要吗
  • 在网站后台做网页如何进行搜索引擎的优化
  • 制作大型网站开发企业seo优化服务