static void TIM4_Init(void)     //普通定时函数
{
TIM4->ARR=1000-1; //设定计数器自动重装值
TIM4->PSC=168-1; //2000000 //预分频器 TIM4->CCMR1|=6<<4; //CH1 PWM1模式
TIM4->CCMR1|=6<<12; //CH2 PWM1模式
TIM4->CCMR2|=6<<4; //CH3 PWM1模式
TIM4->CCMR2|=6<<12; //CH4 PWM1模式 TIM4->CCER|=1<<0; //OC1 输出使能
TIM4->CCER|=1<<4; //OC2 输出使能
TIM4->CCER|=1<<8; //OC3 输出使能
TIM4->CCER|=1<<12; //OC4 输出使能 TIM4->CR1|=1<<7; //ARPE使能
TIM4->CR1|=1<<0; //使能定时器4
}
static void TIM8_Init(void) //普通定时函数
{
TIM8->ARR= 1023; //2000000 //设定计数器自动重装值
TIM8->PSC= (SystemCoreClock/880000)-1; //预分频器 TIM8->CCMR1|=7<<4; //CH1 PWM2模式
TIM8->CCMR1|=7<<12; //CH2 PWM2模式
TIM8->CCMR2|=7<<4; //CH3 PWM2模式
TIM8->CCMR2|=7<<12; //CH4 PWM2模式 TIM8->CCER|=1<<0; //OC1 输出使能
TIM8->CCER|=1<<4; //OC2 输出使能
TIM8->CCER|=1<<8; //OC3 输出使能
TIM8->CCER|=1<<12; //OC4 输出使能 TIM8->CR1|=1<<7; //ARPE使能
TIM8->CR1|=1<<0; //使能定时器8 TIM8->BDTR|=1<<15; //TIM1和TIM8高级定时器需配置
} RCC->APB1ENR|=1<<0; //TIM2时钟使能
RCC->APB1ENR|=1<<1; //TIM3时钟使能
RCC->APB1ENR|=1<<2; //TIM4时钟使能
RCC->APB1ENR|=1<<3; //TIM5时钟使能
RCC->APB1ENR|=1<<5; //TIM7时钟使能
RCC->APB1ENR|=1<<6; //TIM12时钟使能 RCC->APB2ENR|=1<<0; //TIM1时钟使能
RCC->APB2ENR|=1<<1; //TIM8时钟使能
RCC->APB2ENR|=1<<16; //TIM9时钟使能 //主电机PWM输出 ************
GPIO_AF_Set(GPIOD,12,2); //PD12,AF2 定时器4
GPIO_AF_Set(GPIOD,13,2); //PD13,AF2
GPIO_AF_Set(GPIOD,14,2); //PD14,AF2
GPIO_AF_Set(GPIOD,15,2); //PD15,AF2
GPIO_Set(GPIOD,PIN12|PIN13|PIN14|PIN15,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_NONE);//复用功能 GPIO_AF_Set(GPIOC,6,3); //PC6,AF3 定时器8
GPIO_AF_Set(GPIOC,7,3); //PD7,AF3
GPIO_AF_Set(GPIOC,8,3); //PD8,AF3
GPIO_AF_Set(GPIOC,9,3); //PD9,AF3
GPIO_Set(GPIOC,PIN6|PIN7|PIN8|PIN9,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_NONE);//复用功能
 
TIM4->CCR1 = 0;

STM32F4寄存器初始化:PWM输出的更多相关文章

  1. 关于普通定时器与高级定时器的 PWM输出的初始化的区别

    不管是普通定时器还是高级定时器,你用哪个通道,就在程序里用OC多少.比如CH3对应OC3 TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;  TIM_ ...

  2. 关于STM32CubeMX使用LL库设置PWM输出

    HAL和LL库 HAL是ST为了实现代码在ST家族的MCU上的移植性,推出的一个库,称为硬件抽象层,很明显,这样做将会牺牲存储资源,所以项目最后的代码比较冗余,且运行效率大大降低,运行速度受制于fla ...

  3. PWM输出

    PWM(Pulse Width Modulation),脉冲宽度调制. 脉冲的频率由ARR控制,ARR越大频率越小:占空比由CCRx控制,CCRx越小占空比越大. 捕获/比较通道的输出部分(通道1) ...

  4. TIMER门控模式控制PWM输出长度

    TIMER门控模式控制PWM输出长度 参照一些网友代码做了些修改,由TIM4来控制TIM2的PWM输出长度, 采用主从的门控模式,即TIM4输出高时候TIM2使能输出 //TIM2 PWM输出,由TI ...

  5. STM32 PWM输出(映射)

    STM32 的定时器除了 TIM6 和 7.其他的定时器都可以用来产生 PWM 输出.其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出.而通用定时器也能同时产生多达 4 ...

  6. stm32 PWM输出学习

    STM32 的定时器除了 TIM6 和 7,其他的定时器都可以用来产生 PWM 输出.其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出.通用定时器也能同时产生多达 4路 ...

  7. STM8S PWM输出停止后 IO口电平输出

    STM8S有许多定时器支持PWM输出,但在停止定时器后,IO口电平到底是多少呢?或高或低. 因此,为了确定PWM停止输出电平后其对应的值是多少,我们在停止PWM输出时需要对CCMR1寄存器进行设置. ...

  8. STM32: TIMER门控模式控制PWM输出长度

    搞了两天单脉冲没搞定,无意中发现,这个利用主从模式的门控方式来控制一路PWM的输出长度很有效. //TIM2 PWM输出,由TIM4来控制其输出与停止 //frequency_tim2:TIM2 PW ...

  9. STM8 关闭PWM输出后的电平输出问题解决

    STM系列的单片机PWM输出如果被关断比如用TIM1_CtrlPWMOutputs进行停止输出后,电平的高低处于不确定的状态. 他取决于: 1.GPIO初始化的特性 2.关断那一刻时的电平 3.CCM ...

  10. STM32F103ZET6 PWM输出

    1.通用定时器的PWM功能 STM32F103ZET6有4个通用定时器,分别是TIM2.TIM3.TIM4.TIM5. 通用定时器由一个可编程预分频器驱动的16位自动装载计数器构成. 通用定时器的很多 ...

随机推荐

  1. 2022-2023年度必备宇宙最全Windows系统软件清单

    作为PC端的第一生产力工具,相信对于绝大部分人来说,Windows系统是一款不可替代的产品.既然如此,Pytrick今天就拿出珍藏多年的压箱底宝贝无偿分享给各位,给大家逐一介绍下这些体验一级棒的应用软 ...

  2. Promise基础知识

    Promise 1.Promise的前置小知识 进程(厂房) 程序的运行环境 线程(工人) 线程是实际进行运算的东西 同步 通常情况代码都是自上向下一行一行执行的 前边的代码不执行后边的代码也不会执行 ...

  3. Cannot resolve module 'net' in stompjs

    解决方案1 stompjs 不支持客户端环境下运行需要作为开发依赖安装 npm install stompjs --save 解决方案2 webpack.config.js 增加这段 resolve: ...

  4. .Net执行SQL/存储过程之易用轻量工具

    支持.Net/.Net Core/.Net Framework,可以部署在Docker, Windows, Linux, Mac. 由于该工具近来被广东省数个公司2B项目采用,且表现稳定,得到良好验证 ...

  5. CMS可视化---ECharts图表

    一.ECharts介绍 ECharts,全称Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,能够流畅的运行在PC以及移动设备上,兼容当前绝大部分浏览器.为我们许 ...

  6. 【转载】EXCEL VBA 工作簿(表)合并拆分

    一.合并工作簿 Sub 合并工作簿()    Application.ScreenUpdating = False     myfile = Dir(ThisWorkbook.Path & & ...

  7. 论文解读(CAN)《Contrastive Adaptation Network for Unsupervised Domain Adaptation》

    论文信息 论文标题:Contrastive Adaptation Network for Unsupervised Domain Adaptation论文作者:Guoliang Kang, Lu Ji ...

  8. 由char和byte的关系引申出去——总结一下java中的字符编码相关知识

    由char和byte的关系引申出去--总结一下java中的字符编码相关知识 一.字符编码 手持两把锟斤拷,口中直呼烫烫烫 ​   在文章伊始,先来复习一下计算机中关于编码的一些基础知识,着重理清以下几 ...

  9. 8KB的C#贪吃蛇游戏热点答疑和.NET7版本

    在之前的一篇文章<看我是如何用C#编写一个小于8KB的贪吃蛇游戏>中,介绍了在.NET Core 3.0的环境下如何将贪吃蛇游戏降低到8KB.不过也有很多小伙伴提出了一些疑问和看法,主要是 ...

  10. [BUUCTF]洞拐洞拐洞洞拐

    [BUUCTF] 洞拐洞拐洞洞拐 问题链接:https://buuoj.cn/challenges#洞拐洞拐洞洞拐 问题附件是一张图片. 一. 图片分析 查看图片,发现是由有规律的黑白像素构成的PNG ...