求助,PWM例程如何换通道

2019-08-12 17:17发布

F103板子,PWM例程用的PB5,我想改成PB0,一直实现不了。想问问都需要改哪些语句
我目前是把部分映射这句去掉了,并且把PB5引脚改为PB0,再也没动别的。
如何才能更换通道呢?一个是TIM3 CH3,另一个是TIM3 CH2.没有改通道的代码呀。难道理论上四个通道应该是一起有波形吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
竹林的风
1楼-- · 2019-08-12 17:45
这个好解决   一般通道有变换要改三个地方TIM_OCXInit   TIM_OCXPreloadConfig  TIM_SetCompareX   
如果你是外加LED的话   需要修改一下定时器模式TIM_OCMode
yuzeyuan1
2楼-- · 2019-08-12 19:33
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //TIM_CH2    这句里面备注是通道2,我改为GPIO_Pin_0了,但是不知道怎么改为通道3
yuzeyuan1
3楼-- · 2019-08-12 22:35
        TIM_OC3Init(TIM3, &TIM_OCInitStructure);  //¸ù¾YTÖ¸¶¨μÄ2Îêy3õê¼»ˉíaéèTIM3 OC2

        TIM_OC3PreloadConfig(TIM3, TIM_OCPreload_Enable);  //ê1ÄüTIM3ÔúCCR2éÏμÄԤװÔؼÄ′æÆ÷
刚刚又改了这两句,好像是改通道的,不过还是不行。
我把OC2改为OC3了
longe2
4楼-- · 2019-08-13 04:15
问题出在端口的设置上,按照如下配置端口:
void LED_Init(void)
{

GPIO_InitTypeDef  GPIO_InitStructure;
       
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE, ENABLE);         //ê1ÄüPB,PE¶Ë¿úê±Öó
       
//        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);  //ê1ÄüGPIOíaéèoíAFIO¸′óÃ1|ÄüÄ£¿éê±Öó
//  GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3, ENABLE); //Timer32¿·ÖÖØó3éä  TIM3_CH2->B5   

   //éèÖøÃòy½ÅÎa¸′óÃêä3ö1|Äü,êä3öTIM3 CH2μ&#196WMÂö3å2¨DΠ       GPIOB.5
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7; //TIM_CH2
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //¸′óÃíÆíìêä3ö
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOA, &GPIO_InitStructure);//3õê¼»ˉGPIO
       
       
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;                             //LED1-->E.5 ¶Ë¿úÅäÖÃ, íÆíìêä3ö
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;  //¸′óÃíÆíìêä3ö
GPIO_Init(GPIOE, &GPIO_InitStructure);                                           //íÆíìêä3ö £¬IO¿úËù¶èÎa50MHz
GPIO_SetBits(GPIOE,GPIO_Pin_5);                                                  //PE.5 êä3ö¸ß

  
}
longe2
5楼-- · 2019-08-13 09:09
 精彩回答 2  元偷偷看……
CHENgtong
6楼-- · 2019-08-13 12:14
你要根据定时器复用功能通道对应在哪一个端口,然后将端口设置为复用推挽模式,再设置定时器,定时器对应的通道复用可以在芯片手册中查

一周热门 更多>