OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子新作:阿波罗STM32F767&F429&探索者STM32F4开发板&赶快来下载资料哦。

楼主: 科科1987

STM32编码器接口模式--寄存器版

  [复制链接]

  离线 

24

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2014-3-15
在线时间
0 小时
发表于 2014-4-20 17:51:30 | 显示全部楼层
正点原子公众号
回复【48楼】科科1987:
---------------------------------
上面文章小结中提到的“转速模式”为正交编码器输入可分频,请问在哪里分频?
回复 支持 反对

使用道具 举报

  离线 

24

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2014-3-15
在线时间
0 小时
发表于 2014-4-20 19:52:46 | 显示全部楼层
回复【36楼】科科1987:
---------------------------------
有效边沿的设置只能使计数器进行X2或X4的计数,极性只能改变方向,而不能改变计数频率!
回复 支持 反对

使用道具 举报

  离线 

37

主题

518

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1338
金钱
1338
注册时间
2011-11-27
在线时间
108 小时
 楼主| 发表于 2014-4-21 11:37:11 | 显示全部楼层
回复【51楼】刀剑如梦:
回复【48楼】科科1987:
---------------------------------
上面文章小结中提到的“转速模式”为正交编码器输入可分频,请问在哪里分频?
---------------------------------
TIM3->CR1 &=~(3<<8);// 选择时钟分频:不分频
永远保持一颗学习的心态。
回复 支持 反对

使用道具 举报

  离线 

24

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2014-3-15
在线时间
0 小时
发表于 2014-4-21 11:56:45 | 显示全部楼层
回复【53楼】科科1987:
---------------------------------
这个我试过了,根本没有用,不是用来对计数器时钟进行分频的!这是定时器(计数器)时钟与采样时钟的分频比例!没有改变计数器的时钟频率!所以也请楼主仔细看看!
回复 支持 反对

使用道具 举报

  离线 

37

主题

518

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1338
金钱
1338
注册时间
2011-11-27
在线时间
108 小时
 楼主| 发表于 2014-4-21 15:05:48 | 显示全部楼层
回复【54楼】刀剑如梦:
回复【53楼】科科1987:
---------------------------------
这个我试过了,根本没有用,不是用来对计数器时钟进行分频的!这是定时器(计数器)时钟与采样时钟的分频比例!没有改变计数器的时钟频率!所以也请楼主仔细看看!
---------------------------------
这个我知道。
你要的是计数器时钟分频用这个:TIM3->SC = 0x0;//预分频器
永远保持一颗学习的心态。
回复 支持 反对

使用道具 举报

  离线 

24

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2014-3-15
在线时间
0 小时
发表于 2014-4-21 16:33:32 | 显示全部楼层
回复【55楼】科科1987:
---------------------------------
如果设置这个寄存器那计数器不就自动计数变成定时器了嘛!这个应该不行吧?
回复 支持 反对

使用道具 举报

  离线 

24

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2014-3-15
在线时间
0 小时
发表于 2014-4-21 16:36:57 | 显示全部楼层
回复【55楼】科科1987:
---------------------------------
我需要的是对正交编码器的输入时钟进行分频!
回复 支持 反对

使用道具 举报

  离线 

37

主题

518

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1338
金钱
1338
注册时间
2011-11-27
在线时间
108 小时
 楼主| 发表于 2014-4-21 17:23:08 | 显示全部楼层
回复【57楼】刀剑如梦:
回复【55楼】科科1987:
---------------------------------
我需要的是对正交编码器的输入时钟进行分频!
---------------------------------
而正交编码器的输入频率是通过定时器计数来获得的,所以它的频率由计数器的频率与计数个数所决定。
永远保持一颗学习的心态。
回复 支持 反对

使用道具 举报

  离线 

24

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2014-3-15
在线时间
0 小时
发表于 2014-4-21 19:04:21 | 显示全部楼层
回复【58楼】科科1987:
---------------------------------
但是我现在需要知道的是怎么设置正交编码器才能使计数器的计数频率是X1而不是X2和X4?
回复 支持 反对

使用道具 举报

  离线 

24

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2014-3-15
在线时间
0 小时
发表于 2014-4-21 19:05:46 | 显示全部楼层
到底有没有X1的计数率,还是说如果使用正交编码器,它的计数分辨率只能是X2或X4?
回复 支持 反对

使用道具 举报

  离线 

37

主题

518

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1338
金钱
1338
注册时间
2011-11-27
在线时间
108 小时
 楼主| 发表于 2014-4-22 08:23:21 | 显示全部楼层
回复【60楼】刀剑如梦:
到底有没有X1的计数率,还是说如果使用正交编码器,它的计数分辨率只能是X2或X4?
---------------------------------
只能是这样。可能是为了得到计数方向(向上或者向下计数)才这样设计的。
X2或X4的频率都知道了,X1计算一下不也知道了嘛。
永远保持一颗学习的心态。
回复 支持 反对

使用道具 举报

  离线 

24

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2014-3-15
在线时间
0 小时
发表于 2014-4-22 14:00:45 | 显示全部楼层
回复【61楼】科科1987:
---------------------------------
看来也只能这样了,既然硬件不能再分频,只能在程序里分频了!
回复 支持 反对

使用道具 举报

  离线 

13

主题

73

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2013-11-27
在线时间
12 小时
发表于 2014-5-8 21:04:42 | 显示全部楼层
回复【46楼】科科1987:
---------------------------------
三相可以不?
回复 支持 反对

使用道具 举报

  离线 

13

主题

73

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2013-11-27
在线时间
12 小时
发表于 2014-5-8 21:08:34 | 显示全部楼层
回复【23楼】科科1987:
---------------------------------
TIM3->CCER &= ~(1<<1);
TIM3->CCER &= ~(1<<5);
一般来说这两句也得修改,但是全部修改了CH3和CH4还是不能用
回复 支持 反对

使用道具 举报

  离线 

37

主题

518

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1338
金钱
1338
注册时间
2011-11-27
在线时间
108 小时
 楼主| 发表于 2014-5-9 13:58:48 | 显示全部楼层
回复【63楼】shortking:
---------------------------------
A、B、Z相,A相B相为相差90度的方波,Z为零位信号
永远保持一颗学习的心态。
回复 支持 反对

使用道具 举报

  离线 

11

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2013-4-27
在线时间
14 小时
发表于 2014-5-15 20:05:47 | 显示全部楼层
LZ您好,”正交编码器的输入频率是通过定时器计数来获得的“能再详细点吗,那么这个频率怎么去给定,计数溢出的值怎么计算?谢谢
回复 支持 反对

使用道具 举报

  离线 

11

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2013-4-27
在线时间
14 小时
发表于 2014-5-16 09:34:52 | 显示全部楼层
回复【26楼】648342243:
---------------------------------
你好,你的这个问题解决了吗?我现在也遇到了,郁闷
回复 支持 反对

使用道具 举报

  离线 

11

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2013-4-27
在线时间
14 小时
发表于 2014-5-16 09:36:24 | 显示全部楼层
回复【36楼】科科1987:
---------------------------------
LZ你好,我用你的程序可以读出数据了,可是有个问题,就是读出来的currentCount= ENCODER_TIM_PERIOD-1;这是什么一个情况?要么读出来是0,要么就是ENCODER_TIM_PERIOD-1,谢谢
回复 支持 反对

使用道具 举报

  离线 

37

主题

518

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1338
金钱
1338
注册时间
2011-11-27
在线时间
108 小时
 楼主| 发表于 2014-5-16 09:39:11 | 显示全部楼层
回复【68楼】xurids:
---------------------------------
修改一下ENCODER_TIM_PERIOD值试试。
永远保持一颗学习的心态。
回复 支持 反对

使用道具 举报

  离线 

11

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2013-4-27
在线时间
14 小时
发表于 2014-5-16 09:59:33 | 显示全部楼层
回复【69楼】科科1987:
---------------------------------
ENCODER_TIM_PERIOD现在是6499。一上电是0,一转就是6499
回复 支持 反对

使用道具 举报

  离线 

37

主题

518

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1338
金钱
1338
注册时间
2011-11-27
在线时间
108 小时
 楼主| 发表于 2014-5-16 11:42:54 | 显示全部楼层
 回复【66楼】 xurids :
---------------------------------
编码器脉冲的频率可以通过定时器在这个周期计数个数和计数频率获得。


永远保持一颗学习的心态。
回复 支持 反对

使用道具 举报

  离线 

37

主题

518

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1338
金钱
1338
注册时间
2011-11-27
在线时间
108 小时
 楼主| 发表于 2014-5-16 11:46:45 | 显示全部楼层
回复【70楼】xurids:
---------------------------------
仔细看看手册,基本概念弄明白了,你的问题也迎刃而解了。
永远保持一颗学习的心态。
回复 支持 反对

使用道具 举报

  离线 

0

主题

6

帖子

0

精华

新手上路

Rank: 1

积分
26
金钱
26
注册时间
2014-6-4
在线时间
0 小时
发表于 2014-6-9 14:46:31 | 显示全部楼层
学习了。。程序已经可用,只是,那定时器3的中断服务函数 好像没用把,害我看了好久哈哈。
回复 支持 反对

使用道具 举报

  离线 

14

主题

218

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
330
金钱
330
注册时间
2013-10-16
在线时间
14 小时
发表于 2014-6-10 15:00:56 | 显示全部楼层
顶一下,有没哟库函数版的,那就更好了。
回复 支持 反对

使用道具 举报

  离线 

37

主题

518

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1338
金钱
1338
注册时间
2011-11-27
在线时间
108 小时
 楼主| 发表于 2014-6-10 18:30:28 | 显示全部楼层
回复【73楼】HOW:
---------------------------------
是的,没有用到~
永远保持一颗学习的心态。
回复 支持 反对

使用道具 举报

  离线 

33

主题

254

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
412
金钱
412
注册时间
2012-8-16
在线时间
0 小时
发表于 2014-6-20 09:31:35 | 显示全部楼层
顶楼主!!!相当好的东西,感谢分享!!!
开源的世界,你可以做主!!
回复 支持 反对

使用道具 举报

  离线 

2

主题

8

帖子

0

精华

新手上路

Rank: 1

积分
36
金钱
36
注册时间
2013-10-11
在线时间
0 小时
发表于 2014-6-23 15:38:49 | 显示全部楼层
楼主你好,在做stm32的正交编码,用TIM3的端口已经实现,但是用TIM2端口时就不行了,配置都一样的,很奇怪了,因为小车有两个轮子有两个编码器,所以就再用一个TIM2,可是TIM2就是不行,用的是mini开发板
回复 支持 反对

使用道具 举报

  离线 

37

主题

518

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1338
金钱
1338
注册时间
2011-11-27
在线时间
108 小时
 楼主| 发表于 2014-6-24 11:09:47 | 显示全部楼层
回复【77楼】wcj543680484:
---------------------------------
贴上代码看看
永远保持一颗学习的心态。
回复 支持 反对

使用道具 举报

  离线 

2

主题

8

帖子

0

精华

新手上路

Rank: 1

积分
36
金钱
36
注册时间
2013-10-11
在线时间
0 小时
发表于 2014-6-24 12:19:00 | 显示全部楼层
回复【78楼】科科1987:
---------------------------------
最后换了TIM2的CH_1和CH_2也可以,就TIM2的CH_3和CH_4不行,可能是板子的问题吧。
回复 支持 反对

使用道具 举报

  离线 

37

主题

518

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1338
金钱
1338
注册时间
2011-11-27
在线时间
108 小时
 楼主| 发表于 2014-6-25 08:53:31 | 显示全部楼层
回复【79楼】wcj543680484:
---------------------------------
CH_3和CH_4当然不行了,编码器模式只在T1和T2,或者其中之一计数。


永远保持一颗学习的心态。
回复 支持 反对

使用道具 举报

  离线 

33

主题

254

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
412
金钱
412
注册时间
2012-8-16
在线时间
0 小时
发表于 2014-6-27 19:36:48 | 显示全部楼层
回复【10楼】科科1987:
---------------------------------
我需要判断他的方向,是向上计数还是向下计数
然后我就读TIM3_CR1的第4位如下:
--------------------------------------------------------------
DIR:方向
0:计数器向上计数;
1:计数器向下计数。
注:当计数器配置为中央对齐模式或编码器模式时,该位为只读。
----------------------------------------------------------------
我使用的代码是:
if((TIM3->CR1&=1<<4)==1){向下计数}  
if((TIM3->CR1&=1<<4)==0){向上计数}   
这样做了以后,返回的移植是向上计数,求解释以下原因!!非常感谢~~~~
开源的世界,你可以做主!!
回复 支持 反对

使用道具 举报

  离线 

37

主题

518

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1338
金钱
1338
注册时间
2011-11-27
在线时间
108 小时
 楼主| 发表于 2014-6-28 09:17:13 | 显示全部楼层
回复【81楼】tsacy:
---------------------------------
你这样试试:
if((TIM3->CR1 & (uint16_t)(1<<4))==1){向下计数}   
if((TIM3->CR1 & (uint16_t)(1<<4))==0){向上计数}
ps:还有就是你的编码器是不是一直在正转或者反转。
永远保持一颗学习的心态。
回复 支持 反对

使用道具 举报

  离线 

33

主题

254

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
412
金钱
412
注册时间
2012-8-16
在线时间
0 小时
发表于 2014-6-28 09:50:17 | 显示全部楼层
回复【82楼】科科1987:
---------------------------------
此时我还没有转动编码器。
然后他就出现了这个问题
所以我才感觉有点郁闷..........
---------------------------------
非常感谢您的办法,我在尝试一下看看结果如何.......
开源的世界,你可以做主!!
回复 支持 反对

使用道具 举报

  离线 

33

主题

254

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
412
金钱
412
注册时间
2012-8-16
在线时间
0 小时
发表于 2014-6-28 15:44:27 | 显示全部楼层
回复【35楼】__小黑先生:
---------------------------------
请问有解决这问题吗?
开源的世界,你可以做主!!
回复 支持 反对

使用道具 举报

  离线 

33

主题

254

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
412
金钱
412
注册时间
2012-8-16
在线时间
0 小时
发表于 2014-7-1 16:33:48 | 显示全部楼层
回复【16楼】科科1987:
---------------------------------
按照楼主所说,配置完后在主程序中使用查询dir位,一只返回0啊...
这个有神马办法解决一下吗?
开源的世界,你可以做主!!
回复 支持 反对

使用道具 举报

  离线 

3

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2012-7-21
在线时间
0 小时
发表于 2014-7-30 10:22:33 | 显示全部楼层
楼主,请问一个问题。这个PB6是干嘛用的啊???
void TIM4_Init(u16 arr, u16 psc ,u32 count)
{
RCC->APB1ENR |= 1<<2;       //TIM4时钟使能    
RCC->APB2ENR |= 1<<3;       //使能PORTB时钟
  
GPIOB->CRH &= 0XF0FFFFFF;//PB6输出
GPIOB->CRH |= 0X0B000000;//复用功能输出  
GPIOB->ODR |= 1<<6;//PB6上拉
最好的生活状态莫过于,你在你的青春年纪傻逼地为了理想坚持过,最后回到平淡用现实的方法让自己生活下去!!!
回复 支持 反对

使用道具 举报

  离线 

37

主题

518

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1338
金钱
1338
注册时间
2011-11-27
在线时间
108 小时
 楼主| 发表于 2014-7-31 15:05:09 | 显示全部楼层
回复【86楼】宇龙15:
---------------------------------
那是楼上有人把他改为TIM4时,使用PB6,PB7作为输入口。
永远保持一颗学习的心态。
回复 支持 反对

使用道具 举报

  离线 

3

主题

17

帖子

0

精华

新手上路

Rank: 1

积分
49
金钱
49
注册时间
2014-7-28
在线时间
0 小时
发表于 2014-8-5 13:30:47 | 显示全部楼层
楼主你好,我是初学而且用函数,有个问题不明白 。倒数第四行“TIM3->CCMR1 |= 3<<4; // IC1F='1000' 输入捕获1滤波器”  这个注释是不是错了,我觉得是IC1F=0011。还有这个部分滤波的作用是什么呢
回复 支持 反对

使用道具 举报

  离线 

37

主题

518

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1338
金钱
1338
注册时间
2011-11-27
在线时间
108 小时
 楼主| 发表于 2014-8-5 15:02:51 | 显示全部楼层
回复【88楼】逍遥winter:
---------------------------------
1、是的,注释没有修改过来;
2、输入滤波请看http://www.openedv.com/posts/list/33617.htm
永远保持一颗学习的心态。
回复 支持 反对

使用道具 举报

  离线 

3

主题

17

帖子

0

精华

新手上路

Rank: 1

积分
49
金钱
49
注册时间
2014-7-28
在线时间
0 小时
发表于 2014-8-5 23:32:03 | 显示全部楼层
回复【89楼】科科1987:
---------------------------------
恍然大悟,万分感谢
回复 支持 反对

使用道具 举报

  离线 

0

主题

7

帖子

0

精华

新手上路

Rank: 1

积分
27
金钱
27
注册时间
2014-2-28
在线时间
0 小时
发表于 2014-8-7 22:52:25 | 显示全部楼层
回复【44楼】科科1987:
---------------------------------
不好意思,最近比较忙!我用的不是占空比模式,用的是反转模式,void TIM4_ENCODER_PB6_PB7_TIM5_CH1_PA0_CH2_PA1(uint16_t period_tim4, uint16_t period_tim5, uint16_t duty_tim5_CH1, uint16_t duty_tim5_CH2)函数的注释错了,period_tim5是定时器5的计时周期,duty_tim5_CH1是定时器5通道1的电平翻转时刻,duty_tim5_CH2是定时器5通道2的翻转时刻,

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Toggle; //管脚输出模式:翻转
TIM_OCInitStructure.TIM_Pulse = duty_tim5_CH1;
定时器5模拟输出A、B相信号给定时器4的A、B相引脚,定时器4计数器到达后中断输出一个电平,定时器5开始输出AB相(某个IO输出由0置1,方便查看),定时器4中断后关闭定时器5输出(某个IO由1置0),通过逻辑分析仪把A、B、IO电平取出来,会发现AB相频率太快时在IO口高电平阶段的脉冲数多了...
回复 支持 反对

使用道具 举报

  离线 

0

主题

11

帖子

0

精华

新手上路

Rank: 1

积分
31
金钱
31
注册时间
2014-7-27
在线时间
0 小时
发表于 2014-8-8 14:18:08 | 显示全部楼层
这也可以  www.uicmall.com  呀    了解
回复 支持 反对

使用道具 举报

  离线 

3

主题

17

帖子

0

精华

新手上路

Rank: 1

积分
49
金钱
49
注册时间
2014-7-28
在线时间
0 小时
发表于 2014-8-11 23:51:18 | 显示全部楼层

楼主你好,改了下你的代码,用的TIM4(PB.6和PB.7),能读数,但是错乱的(如图)。编码器输出的脉冲频率30kHz~50kHz。主函数代码如下:
 while(1)
 {
  if(oldcnt4!=(TIM4->CNT))
  {
   oldcnt4=(TIM4->CNT);
   printf("cnt4:%d\r\n",oldcnt4);
   if(TIM4->CR1&0X10)dir4=1;
   else dir4=0;
   printf("dir4:%d\r\n",dir4);      //dir表示计数方向,向上为0
   
   }
  
 }

回复 支持 反对

使用道具 举报

  离线 

37

主题

518

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1338
金钱
1338
注册时间
2011-11-27
在线时间
108 小时
 楼主| 发表于 2014-8-12 09:04:26 | 显示全部楼层
回复【93楼】逍遥winter:
---------------------------------
计数频率是多少?
永远保持一颗学习的心态。
回复 支持 反对

使用道具 举报

  离线 

3

主题

17

帖子

0

精华

新手上路

Rank: 1

积分
49
金钱
49
注册时间
2014-7-28
在线时间
0 小时
发表于 2014-8-12 10:53:58 | 显示全部楼层
回复【94楼】科科1987:
---------------------------------
psc=0,arr=10000
回复 支持 反对

使用道具 举报

  离线 

37

主题

518

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1338
金钱
1338
注册时间
2011-11-27
在线时间
108 小时
 楼主| 发表于 2014-8-12 19:52:30 | 显示全部楼层
回复【95楼】逍遥winter:
---------------------------------
可能是干扰比较大。
永远保持一颗学习的心态。
回复 支持 反对

使用道具 举报

  离线 

3

主题

17

帖子

0

精华

新手上路

Rank: 1

积分
49
金钱
49
注册时间
2014-7-28
在线时间
0 小时
发表于 2014-8-13 01:24:47 | 显示全部楼层
回复【30楼】科科1987:
---------------------------------
楼主你好,我想通过TIM3的更新中断来记电机转过的圈数,中断服务函数如下:
u16 round_A=0;
......
void TIM4_IRQHandler(void)
{
 round_A++;

 TIM_ClearITPendingBit(TIM4, TIM_IT_Update);
 
}这样可以吗?
回复 支持 反对

使用道具 举报

  离线 

0

主题

7

帖子

0

精华

新手上路

Rank: 1

积分
27
金钱
27
注册时间
2014-2-28
在线时间
0 小时
发表于 2014-8-13 08:26:27 | 显示全部楼层
回复【93楼】逍遥winter:
---------------------------------
每次打印的定时器的值不一样我也遇到过,分析原因是:定时器计数器是硬件自动操作,打印数据是软件通过CPU在操作,定时器计数器达到你想要的某个值时,在你软件获取和打印的过程中,计数器的值是一直在变的,你可以试一下使用定时器中断,产生中断之后失能定时器,你再把这个数据打印出来,这时打印的值应该变化不是很大
回复 支持 反对

使用道具 举报

  离线 

3

主题

17

帖子

0

精华

新手上路

Rank: 1

积分
49
金钱
49
注册时间
2014-7-28
在线时间
0 小时
发表于 2014-8-13 12:05:39 | 显示全部楼层
回复【98楼】Joshour:
--------------------------------
多谢。还有个问题,就是对同一个定时器可以同时使用编码器模式和PWM输出吗?不太会分配定时器,感觉不够用了。我用的是RBT6,只有TIM1~TIM4吧?两个电机带的编码器就占用了两个定时器,希望能好好分配下,望大神指点
回复 支持 反对

使用道具 举报

  离线 

3

主题

17

帖子

0

精华

新手上路

Rank: 1

积分
49
金钱
49
注册时间
2014-7-28
在线时间
0 小时
发表于 2014-8-13 12:07:55 | 显示全部楼层
回复【98楼】Joshour:
---------------------------------
而且我还希望用定时中断对电机测速
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则




QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-1-17 23:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表
/* */