工程师STM32单片机学习基础手记(4):用PWM实现荧火虫灯(六)

最新更新时间:2013-05-11来源: 互联网关键字:STM32  单片机  PWM 手机看文章 扫描二维码
随时随地手机看文章

  



  DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;

  DMA_InitStructure.DMA_Priority = DMA_Priority_High;

  DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;

  以下是stm32f10x_dma.c中有关DMA的初始化设置代码

  tmpreg |= DMA_InitStruct-》DMA_DIR | DMA_InitStruct-》DMA_Mode |

  DMA_InitStruct-》DMA_PeripheralInc | DMA_InitStruct-》DMA_MemoryInc |

  DMA_InitStruct-》DMA_PeripheralDataSize | DMA_InitStruct-》DMA_MemoryDataSize |

  DMA_InitStruct-》DMA_Priority | DMA_InitStruct-》DMA_M2M;

  /* Write to DMAy Channelx CCR */

  DMAy_Channelx-》CCR = tmpreg;

  /*--------------------------- DMAy Channelx CNDTR Configuration ---------------*/

  /* Write to DMAy Channelx CNDTR */

  DMAy_Channelx-》CNDTR = DMA_InitStruct-》DMA_BufferSize;

  


  /*--------------------------- DMAy Channelx CPAR Configuration ----------------*/

  /* Write to DMAy Channelx CPAR */

  DMAy_Channelx-》CPAR = DMA_InitStruct-》DMA_PeripheralBaseAddr;

  

  /*--------------------------- DMAy Channelx CMAR Configuration ----------------*/

  /* Write to DMAy Channelx CMAR */

  DMAy_Channelx-》CMAR = DMA_InitStruct-》DMA_MemoryBaseAddr;

  //内存地址送入CMAR寄存器

  


  说明:这个图从PDF截下来,图中那个DMA_CPARx写错了,应该是DMA_CMARx

  ------------------------------------------------------------------------------------------

  再来看一个DMA的例子

  /* DMA1 Channel5 configuration ----------------------------------------------*/

  DMA_DeInit(DMA1_Channel5);

  DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)TIM1_CCR1_Address;

  DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)ADC1_DR_Address;

  DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST;

  DMA_InitStructure.DMA_BufferSize = 1;

  DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;

  DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable;

  DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;

  DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;

  DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;

  DMA_InitStructure.DMA_Priority = DMA_Priority_High;

  DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;

  DMA_Init(DMA1_Channel5, &DMA_InitStructure);

  /* Enable DMA1 Channel5 */

  DMA_Cmd(DMA1_Channel5, ENABLE);

  还有一些目前暂时还没有去搞清楚的,比如中断处理等,等到需要时再看吧。

关键字:STM32  单片机  PWM 编辑:神话 引用地址:工程师STM32单片机学习基础手记(4):用PWM实现荧火虫灯(六)

上一篇:工程师STM32单片机学习基础手记(4):用PWM实现荧火虫灯(五)
下一篇:你了解电源中电子元件的作用吗(一)

推荐阅读最新更新时间:2023-10-12 20:45

义隆单片机 多字节二进制加法
二 多字节 二进制 加法 0X20,0X21 中的二进制无符号数与0X22,0X23 中的二进制无符号数相加,结果放在0X24,0X25,0X26 中,低地 址中放低字节数据。 Main: MOV a,@0x78 ;赋值 MOV 0x20,a MOV a,@0xc6 MOV 0x21,a MOV a,@0x86 MOV 0x22,a MOV a,@0x9e MOV 0x23,a MOV a,@0x0 ;0x26 单元清0 MOV 0x26,a MOV a,0x21 add a,0x23 MOV 0x25,a ;高字节相加,结果送0x25 jbc 0x03,0 inc 0x26 ; 有进位则0x26 加1 MOV a,0x20 ad
[单片机]
STM32初学笔记5之ADC(上)
自己单独编写了一个ADC的单独API接口文件,如下所示: =============================================================== ADC_Config.C =============================================================== /** ** 文件名称:ADC_Config.C ** 功能描述:ADC转换模块的配置 ** 硬件平台:ALIENTEK(STM32F103RBT6) ** 编译环境:Keil uversion4 IDE
[单片机]
<font color='red'>STM32</font>初学笔记5之ADC(上)
单片机C语言知识点全攻略(二)
第六课、C51运算符和表达式     上两课说了常量和变量,先来补充一个用以重新定义数据类型的的语句吧。这个语句就是 typedef,这是个很好用的语句,但我却不常用它,通常我定义变量的数据类型时都是使 用标准的关键字,这样别人能很方便的研读你的程序。如果你是个DELPHI 编程爱好者或是DELPHI程序员,你对变量的定义也许习惯了DELPHI 的关键字,如 int 类型常会用关键字Integer来定义,在用 单片机c语言时你还想用回这个的话,你能这样写:   typedef int integer;   integer a,b;   这两句在编译时,其实是先把 integer 定义为 int,在以后的语句中遇到
[模拟电子]
单片机演奏音乐实验
利用单片机演奏音乐大概是单片机爱好者感兴趣的问题之一。这里我们用网站提供的实验板来做这个实验,并且了解单片机演奏音乐的基本原理,和相关的源程序。 AT89C51单片机的P2.5口控制一个8550的三极管,三极管控制电磁蜂鸣器的电源通断。 我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的高电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调。 例如,要产生200HZ的音频信号,200HZ音频的变化周期为1/200秒,即5ms。这样,当P2.5的高电平或低电平的持续时间为2.5m
[单片机]
基于PIC16F877A单片机的数控电流源设计
1 引言 电源技术尤其是数控电源技术是一门实践性很强的工程技术,涉及了电气、电子、系统集成、控制理论、材料等诸多学科领域。计算机和通讯技术的发展,给电力电子技术提供了广阔的发展前景,同时也给电源提出了更高的要求。普通电源由于精确度不高等缺点已不能满足现实的需要。直到单片机技术及电压转换模块的出现,才使精确数控电源的发展有了可能。本文所设计的数控电流源采用PIC16F877A单片机为核心部件,键盘、显示、D/A、开关电源等模块为外围电路。 2 设计要求和总体设计思路 2.1 设计要求 本设计要求:输入220V,输出最高12V;通过键盘控制输出电流,步长为0.01A;采用LED显示输出电流,精度为0.02A;电流源稳流范围为(0.
[单片机]
基于PIC16F877A<font color='red'>单片机</font>的数控电流源设计
STM32单片机的按键检测程序设计
STM32的按键检测相对比较简单,首先按部就班的初始化连接的到的i/o,然后写一个按键扫描函数,这个和51单片机的差不多。 以下是一个比较典型的例子: 利用按键控制LED: key.h文件 #ifndef__KEY_H #define__KEY_H #include“sys.h“ #defineKEY0 GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4)//读取按键0 #defineKEY1 GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3)//读取按键1 #defineKEY2 GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2)//读取按键2
[单片机]
<font color='red'>STM32</font><font color='red'>单片机</font>的按键检测程序设计
力源信息:公司自研MCU芯片已经流片成功
6月15日晚间,力源信息在互动平台表示,公司自研的MCU芯片目前已流片成功,预计七月份开始让部分客户测试,四季度进入小批量量产。 此前,力源信息在接受机构调研时表示,目前市场上缺货的第一代表是MCU,MCU影响范围最大,覆盖面最广,以ST(意法)MCU交货情况为例,短期内缺货问题不会解决,如果MCU没有解决,就算其他产品缺货情况缓解,也很难做到齐套化。 力源信息还称,从整个市场来看,下半年不会像上半年那么乐观,公司的上游芯片原厂和下游客户较为优质,会选择性向优质客户供货,此外,缺货使得公司周转率上升,客户依赖性提高,缺货后,头部代理商更受上游芯片原厂和下游客户青睐。 力源本部主要以销售ST(意法)、ON(安森美)等欧美产品线的主
[手机便携]
stm32 9位通信的原理和工作过程
STM32是ST(意法半导体)推出的基于ARM® Cortex® M 处理器内核的 32位闪存微控制器产品,融高性能、实时性、数字信号处理、低功耗、低电压于一身,同时保持高集成度和开发简易的特点。拥有业内最强大的产品阵容,基于工业标准的处理器,大量的软硬件开发工具,让STM32单片机成为各类中小项目和完整平台解决方案的理想选择。 作为国内第一个智能硬件自助开发(PaaS)及云服务(SaaS)平台和意法半导体战略合作伙伴,机智云率先开发出了基于STM32的物联网开源套件 Gokit 和STM32代码自动生成工具,帮助物联网智能硬件开发者快速打造产品原型。 STM32用9位方式多机通信时,串口模式必须在方式2或方式3。 其
[单片机]
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved