STM32通用定时器问题请教

[复制链接]
3385|7
 楼主| ringsearch 发表于 2011-7-30 16:29 | 显示全部楼层 |阅读模式
我现在想用TIM2做一个简单的周期定时,没有用到比较捕获等功能,在我使能定时器后,TIM2对应输入输出的管脚还能作为普通的IO口使用吗?我定时器的配置程序如下:
    TIM_TimeBaseInitTypeDef TIM_InitStructure;

    TIM_InitStructure.TIM_Period = TIMTime;
    TIM_InitStructure.TIM_Prescaler = 7200;
    TIM_InitStructure.TIM_ClockDivision = 0;
    TIM_InitStructure.TIM_CounterMode = TIM_CounterMode_Up;

    TIM_TimeBaseInit(TIM2,&TIM_InitStructure);

    TIM_ARRPreloadConfig(TIM2,DISABLE);

    TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
desomond 发表于 2011-7-30 19:06 | 显示全部楼层
 楼主| ringsearch 发表于 2011-7-30 20:58 | 显示全部楼层
哦,那什么情况下不行呢?就是与TIM相关的寄存器中,哪些标志位置位后TIM对应的几个管脚就会被占用,而不能作为普通IO口使用,同时如其它外设也有映射到这个管脚上,那这个外设也不能使能了?希望能解答下,呵呵。
swx2010 发表于 2011-7-31 10:02 | 显示全部楼层
1、什么情况下不行,当你使能定时器为输入捕捉或者输出模式,并且相应的IO口也设置成了复用功能输入或输出模式时,引脚被定时器占用。
2、多个外设不能同时共享使用相同的引脚
 楼主| ringsearch 发表于 2011-7-31 13:26 | 显示全部楼层
非常感谢,现在基本确定是捕获/比较使能寄存器(TIMx_CCER)来控制是否可以使用IO口了,但是 不确定从模式控制寄存器(TIMx_SMCR) 中的,ECE:外部时钟使能位 (External clock enable)以及SMS[2:0]:从模式选择 (Slave mode selection)是否也与IO口的使用相关呢?
 楼主| ringsearch 发表于 2011-7-31 13:40 | 显示全部楼层
补充下,试问ECE,SMS[2:0],如果设置,是否是导致TIM所对应的IO口被作为复用功能了,而不能在作为普通IO口使用
香水城 发表于 2011-8-1 11:12 | 显示全部楼层
每个I/O口都有8种配置模式,只要你不把对应的I/O口配置为复用推挽输出或复用开漏输出,对应的I/O口就可以作为普通I/O端口。
 楼主| ringsearch 发表于 2011-8-1 14:17 | 显示全部楼层
呵呵,非常感谢解答。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

36

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部