找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2291|回复: 2
打印 上一主题 下一主题
收起左侧

stm32f103zet tim3 PB5输出PWM不能,求高手指教

[复制链接]
跳转到指定楼层
楼主
ID:824490 发表于 2021-2-12 22:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void init_pwm(uint16_t arr, uint16_t psc)
{
    GPIO_InitTypeDef GPIO_InitStructure;//PB0 -> TIM3
    TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;//
    TIM_OCInitTypeDef  TIM_OCInitStructure;//
   
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO, ENABLE);
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
   
    GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3, ENABLE);
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;// 改成PB5不输出
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;//¸
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//
    GPIO_Init(GPIOB, &GPIO_InitStructure);    //
   
    TIM_TimeBaseStructure.TIM_Period = arr;//
    TIM_TimeBaseStructure.TIM_Prescaler = psc;//
    TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;//
    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//
    TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);    //
   
    TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;//
    TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;//
    TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;    //
    TIM_OC3Init(TIM3, &TIM_OCInitStructure);//TIM_OC3 ͨµÀ3//改成PB5的同时改成TIM_OC2Init()
    TIM_OC3PreloadConfig(TIM3, TIM_OCPreload_Enable);//改成PB5的同时改成TIM_OC3PreloadConfig()
    TIM_Cmd(TIM3, ENABLE);//
}
这个配置在PB0(TIM3_CH3)时输出正常,改成PB5(TIM3_CH2)时不输出。不知哪里出错了。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:871393 发表于 2021-2-13 18:17 | 只看该作者
应该是细节某个OC2没改,用hal库吧,mx自动配置省事
回复

使用道具 举报

板凳
ID:420836 发表于 2021-2-15 01:59 | 只看该作者
正如楼上所说的那样,请使用库或某人的代码作为开始。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表