[应用相关] 求助!!对stm32高级定时器的几个位的作用很模糊

[复制链接]
2637|8
 楼主| 干嘛呢 发表于 2015-7-22 17:01 | 显示全部楼层 |阅读模式

TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;
  TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Set;
输出空闲状态起是什么作用的啊?????
用示波器测量了一天,愣是没有测量出结果,希望路过的高手可以指导一下啊,谢谢了
香水城 发表于 2015-7-22 17:58 | 显示全部楼层
库函数里这两句代码,对应是置位高级定时器里哪个寄存器中的哪个位域,LZ搞清楚了吗?
 楼主| 干嘛呢 发表于 2015-7-23 09:14 | 显示全部楼层
本帖最后由 干嘛呢 于 2015-7-23 09:19 编辑
香水城 发表于 2015-7-22 17:58
库函数里这两句代码,对应是置位高级定时器里哪个寄存器中的哪个位域,LZ搞清楚了吗? ...

这是datesheet上面的解释:C:\Users\Administrator\Desktop\QQ截图20150723090450.png,我的拙见是当关闭定时器各通道后引脚电平的状态,但是经过测试结果如下C:\Users\Administrator\Desktop\IMG_20150,对测试结果的第一组不理解,当OIS和OISN都为Set 时,按照手册应该为高电平的,可是测试接为什么为低电平???????不知道香水城大哥遇到过这种情况吗

测试结果

测试结果
QQ截图20150723090450.png
周董 发表于 2015-7-23 16:48 | 显示全部楼层
进来看看
太阳围着地球转 发表于 2015-7-30 15:17 | 显示全部楼层
看了一下手册,我个人觉得应该是说
在MOE=0 (禁止主输出) 意味着定时器通道禁止输出时,强制设置成IDLE状态(也就是默认的安全状态),即软件库定义的IDLE状态。 该通道idle状态时为高电平 TIM_OCIdleState_Set; 该互补通道idle状态为 高电平TIM_OCNIdleState_Set;

简单讲就是设置PWM发生刹车或其他保护后,禁止输出时两个通道处于何种安全电平状态。比如过流保护时,不能让该通道还打开电流开关。
 楼主| 干嘛呢 发表于 2015-8-3 16:49 | 显示全部楼层
太阳围着地球转 发表于 2015-7-30 15:17
看了一下手册,我个人觉得应该是说
在MOE=0 (禁止主输出) 意味着定时器通道禁止输出时,强制设置成IDLE状 ...

明白这个意思。从理论上说当TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;和  TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Set;且MOE=0时,互补通道应该都 为 高电平的,但是测试的时候不是这样的,  不知道为什么

尤彼卡 发表于 2015-8-3 22:21 | 显示全部楼层
在MOE=0,意味着定时器通道禁止输出时,强制设置成IDLE状态
可可球 发表于 2015-8-3 22:27 | 显示全部楼层
库函数里这两句代码,对应是置位高级定时器里的寄存器
冰河w 发表于 2015-8-4 09:15 | 显示全部楼层
楼主现在是什么状况,测试出来的是个什么
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

46

帖子

2

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