求助定时器的通道

2019-10-16 03:07发布

void TIM3_Int_Init(u16 arr,u16 psc)
{
        RCC->APB1ENR|=1<<1;        //TIM3时钟使能   
        TIM3->ARR=arr;          //设定计数器自动重装值
        TIM3->PSC=psc;          //预分频器设置
        TIM3->DIER|=1<<0;   //允许更新中断                               
        TIM3->CR1|=0x01;    //使能定时器3
          MY_NVIC_Init(1,3,TIM3_IRQn,2);//抢占1,子优先级3,组2                                                                         
}

这是原子例程的程序,可是我追查不了具体是定义了定时3的哪个通道,想问下这样设置是系统随机分配吗?
假如其他IO口也要用到作普通IO(而IO口也能映射到定时器3),这时定时器是用了通道几

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
dengxingling8
1楼-- · 2019-10-16 07:18
这个就是做定时器用,没用到io口
尼斯达
2楼-- · 2019-10-16 10:47
本帖最后由 尼斯达 于 2016-12-7 20:35 编辑

只要这样配置了,TIM3的所有通道都将以arr、psc确定的频率执行,频率不能改,只能改占空比。但是楼主贴的这个代码,并没有使用IO口呢~~
楼主你的意思是想用IO口做输出PWM,或输入捕获吧?
那就要使能对应的IO,并且确定模式和对比值CNT,但是TIM3的所有通道都只能是一个频率
小卿
3楼-- · 2019-10-16 13:14
 精彩回答 2  元偷偷看……
尼斯达
4楼-- · 2019-10-16 18:53
恩恩,理解你的意思~~但是也不一定IO口就是对应定时器3功能哦,如果要使用的话必须要使用端口复用功能,然后根据不同的复用功能去不同配置。例如要PWM输出,则配置成复用推挽输出~~如果没有配置成复用,那只是一个普通的IO口,和定时器3没关系的~~
小卿
5楼-- · 2019-10-16 20:39
尼斯达 发表于 2016-12-8 16:12
恩恩,理解你的意思~~但是也不一定IO口就是对应定时器3功能哦,如果要使用的话必须要使用端口复用功能,然 ...

@尼斯达 谢谢你这么耐心的回答,因为自己做电源电压指示灯,灯不会有反应,一开始以为是不是配置问题,所以才问上诉的问题。具体的问题已经解决了

一周热门 更多>