- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
*******************ARM微控制器与嵌入式系统
STM32的PWM配置主讲人:景妮琴北京电子科技职业学院内容STM32的PWM定时器生成PWM的编程要点输出通道配置PWM结构体PWM库函数定时器生成PWM原理PWM原理计数寄存器CNT重装寄存器ARR比较寄存器CCRCNTARRCCR定时器生成PWM的编程要点1、开启GPIO时钟、定时器时钟2、PWM输出端口配置3、复用引脚功能映射4、定时器配置5、输出通道配置6、PWM使能7、设置比较器值输出PWMPWM的输出通道针对高级定时器和通用定时器,查STM32的数据手册,选择使用不同定时器的不同通道进行配置。我们使用TIM3。定时器生成PWM的编程要点1、打开输出通道的GPIO时钟以及定时器(PWM)的时钟(1)打开GPIO的时钟使用TIM3的4个通道分别为:PA6,PA7,PB0,PB1打开GPIOA和GPIOB的时钟RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE); 定时器生成PWM的编程要点1、打开输出通道的GPIO时钟以及定时器(PWM)的时钟(2)打开TIM3的时钟APB1时钟总线 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);定时器生成PWM的编程要点2、PWM输出端口配置使用TIM3的4个通道分别为:PA6,PA7,PB0,PB1先对PA6,PA7配置GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7; //选择端口GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;//复用模式GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;//推挽输出GPIO_InitStructure.GPIO_Speed=GPIO_Speed_100MHz; //输出最大速度GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;GPIO_Init(GPIOA,GPIO_InitStructure); 定时器生成PWM的编程要点2、PWM输出端口配置使用TIM3的4个通道分别为:PA6,PA7,PB0,PB1再对PB0,PB1配置GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1; //选择端口GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;//复用模式GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;//推挽输出GPIO_InitStructure.GPIO_Speed=GPIO_Speed_100MHz; //输出最大速度GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;//浮空模式GPIO_Init(GPIOB,GPIO_InitStructure); 定时器生成PWM的编程要点3、复用引脚功能映射GPIO_PinAFConfig(GPIOA,GPIO_PinSource6,GPIO_AF_TIM3);GPIO_PinAFConfig(GPIOA,GPIO_PinSource7,GPIO_AF_TIM3);GPIO_PinAFConfig(GPIOB,GPIO_PinSource0,GPIO_AF_TIM3);GPIO_PinAFConfig(GPIOB,GPIO_PinSource1,GPIO_AF_TIM3);定时器生成PWM的编程要点4、定时器配置typedefstruct{uint16_tTIM_Prescaler; //预分频系数uint16_tTIM_CounterMode; //计数模式uint32_tTIM_Period; //定时器初值uint16_tTIM_ClockDivision; //分频因子uint8_tTIM_RepetitionCounter; //重复计数}TIM_TimeBaseInitTypeDef;定时器生成PWM的编程要点4、定时器配置
您可能关注的文档
- ARM微控制器与嵌入式系统 课件 9 STM32寄存器开发-新建工程.ppt
- ARM微控制器与嵌入式系统 课件 10 STM32寄存器开发-点亮led灯.ppt
- ARM微控制器与嵌入式系统 课件 11 STM32F4xx微控制器库函数开发-工程模板的建立.ppt
- ARM微控制器与嵌入式系统 课件 12 STM32F4xx微控制器库函数开发-点亮一个led灯.ppt
- ARM微控制器与嵌入式系统 课件 13 流水灯.ppt
- ARM微控制器与嵌入式系统 课件 14 单一按键.ppt
- ARM微控制器与嵌入式系统 课件 15 按键综合项目.ppt
- ARM微控制器与嵌入式系统 课件 16 数码管的动态显示.ppt
- ARM微控制器与嵌入式系统 课件 17 NVIC嵌套向量中断控制器.ppt
- ARM微控制器与嵌入式系统 课件 18 基本定时器定时.ppt
文档评论(0)