STM32的TIM2的TIM_OCMode_Timing方式疑惑

[复制链接]
15593|11
 楼主| 在水一飞 发表于 2009-3-16 17:54 | 显示全部楼层 |阅读模式
按固件库的说明,STM32的通用定时器TIM2有6种方式:TIM_OCMode_Timing;
TIM_OCMode_Active;TIM_OCMode_Toggle;…………;

我写了一个定时器定时100us程序。
按下载的固件库程序里的实例,设置通用TIM2为TIM_OCMode_Timing方式,在定时比较中断里翻转输出PC.06管脚。但是,软件仿真时,是不能实现管脚输出方波的。当将TIM2设为TIM_OCMode_Toggle方式时,才能有方波输出。为什么啊?
请问,TIM_OCMode_Timing与TIM_OCMode_Toggle的区别是什么?
香水城 发表于 2009-3-16 18:32 | 显示全部楼层

请问你是如何配置的?

TIM_OCMode_Timing是在比较成功后不在对应输出管脚上产生输出。

TIM_OCMode_Toggle是在比较成功后翻转对应输出管脚上的电平。
 楼主| 在水一飞 发表于 2009-3-17 11:49 | 显示全部楼层

回复

TIM_OCMode_Timing是在比较成功后不在对应输出管脚上产生输出,但是产生中断啊,我是在中断服务程序里将管脚翻转,应该有方波输出吧。
GPIO_WriteBit(GPIOC, GPIO_Pin_6, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_6)));
但是,事实上,在TIM_OCMode_Timing方式下,按这种中断里翻转管脚的方式,是没有方波输出的啊。有人仿真过官方给的 ExamplesFireWareFWLibexamplesTIMTimeBase例程吗?
香水城 发表于 2009-3-17 13:56 | 显示全部楼层

你能确定你的程序没有问题?

ijk 发表于 2009-3-18 11:11 | 显示全部楼层

最好不要软件仿真

  最好不要软件仿真,软件仿真常常不可信
bhsdlmj 发表于 2009-5-25 15:20 | 显示全部楼层

我试过了 楼主

MDK的这个软件仿真没有问题!! 应该是你的程序有问题 或者是你仿真方法不对头
袁嘉甫 发表于 2009-11-21 17:17 | 显示全部楼层
我也遇到这个相同问题,搞了好久。看来仿真不能太信。只是香版应该向KEIL反映一下。
秋天落叶 发表于 2009-11-22 09:25 | 显示全部楼层
最好是软硬件结合起来一起调试
gxgclg 发表于 2009-11-22 18:05 | 显示全部楼层
纯软件仿真,有时是跟实际相差较远
xiaohe669 发表于 2010-10-29 19:01 | 显示全部楼层
我也遇到了这样的问题,不知楼主解决了没有?
xiaohe669 发表于 2010-10-29 19:50 | 显示全部楼层
找出毛病了,我在之前的调试中把中断源给失能了,应该是
TIM_ITConfig(TIM2, TIM_IT_CC1 | TIM_IT_CC2 | TIM_IT_CC3 | TIM_IT_CC4, ENABLE);
就可以了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

19

帖子

0

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