完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
首先是初始化PWM的复用引脚:
void gpioinit(void) { GPIO_InitTypeDef GPIO_InitStruct; RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1;//tiM3通道3,4 GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP;//复用推挽输出功能 GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init (GPIOB,&GPIO_InitStruct); //GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3 , ENABLE);//禁止使能定时器remap,注释了这句话 GPIO_InitStruct.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7;//TIM3通道1,2 GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP;//复用推挽输出功能 GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init (GPIOA,&GPIO_InitStruct); } 接着是初始化定时器TIM3, void tim3_init(void) { TIM_TimeBaseInitTypeDef tim3; TIM_OCInitTypeDef tim3_oc; CCR1_Val = 50;//TIM3通道1的高电平时间 CCR2_Val = 100;//TIM3通道2的高电平时间 CCR3_Val = 200;//TIM3通道3的高电平时间 CCR4_Val = 400;//TIM3通道4的高电平时间 RCC_APB1PeriphClockCmd (RCC_APB1Periph_TIM3,ENABLE);//定时器3使能 tim3.TIM_CounterMode = TIM_CounterMode_Up;//定时器3向上计数 tim3.TIM_Period = 999;//1ms tim3.TIM_Prescaler = 71;//72M/(71+1) tim3.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseInit (TIM3,&tim3);//初始化定时器3 tim3_oc.TIM_OCMode = TIM_OCMode_PWM1;//PWM1模式 tim3_oc.TIM_OutputState = TIM_OutputState_Enable;// tim3_oc.TIM_OCPolarity = TIM_OCPolarity_High;//设置高电平为有效电平 tim3_oc.TIM_Pulse = CCR3_Val; TIM_OC3Init (TIM3,&tim3_oc);//初始化定时器3通道3 TIM_OC3PreloadConfig (TIM3,TIM_OCPreload_Enable);//使能预加载计数器 tim3_oc.TIM_Pulse = CCR4_Val; TIM_OC4Init (TIM3,&tim3_oc);//初始化定时器3通道4 TIM_OC4PreloadConfig (TIM3,TIM_OCPreload_Enable);//使能预加载计数器 tim3_oc.TIM_Pulse = CCR1_Val; TIM_OC1Init (TIM3,&tim3_oc);//初始化定时器3通道1 TIM_OC1PreloadConfig (TIM3,TIM_OCPreload_Enable);//使能预加载计数器 tim3_oc.TIM_Pulse = CCR2_Val; TIM_OC2Init (TIM3,&tim3_oc);//初始化定时器3通道2 TIM_OC2PreloadConfig (TIM3,TIM_OCPreload_Enable);//使能预加载计数器 TIM_Cmd(TIM3,ENABLE);//使能定时器3 } |
|
相关推荐
|
|
好
|
|
|
|
|
|
991 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
970 浏览 2 评论
2080 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1177 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1599 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 09:47 , Processed in 0.561793 second(s), Total 48, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号