智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 8368|回复: 20
打印 上一主题 下一主题

请教火哥关于野火底层库DMA测两路脉冲问题

  [复制链接]

4

主题

397

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3933
威望
1759
贡献
1014
兑换币
898
注册时间
2012-8-27
在线时间
580 小时
跳转到指定楼层
1#
发表于 2013-3-22 01:12:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问火哥我用的是100脚的K60板子做直立车,其他模块的都能调试通过,唯独DMA计数始终搞不明白,我的想法是通过这两个函数初始化DMA_count_Init(DMA_CH0, PTA17, 0xf, DMA_rising);
DMA_count_Init(DMA_CH2, PTA19, 0x2, DMA_rising);

通过PIT计数后用
zuo=DMA_count_get(DMA_CH0);
you=DMA_count_get(DMA_CH2);
  DMA_count_reset(DMA_CH0);      
  DMA_count_reset(DMA_CH2);

获得PTA17和PTA19输入进来的脉冲,,结果当然是一片混乱了,我想知道正确使用这三个函数的方式是怎么样的,还有初始化的第三个值 count   累加计数中断值是什么意思,我改变它会直接影响读取的值,你们发布的入门PDF文档里面也没有提及这部分的内容.我看了你们发布的一些例程.是一定要像你们的例程那样进入CH4中断计数吗,还有100脚的要使用DMA不出错得修改些什么呢...请火哥解救...

4

主题

239

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1869

优秀会员奖章

威望
932
贡献
543
兑换币
340
注册时间
2012-11-25
在线时间
197 小时
2#
发表于 2013-3-22 10:02:48 | 只看该作者
我也不会用,我的是两个编码器,用两个dma但发回的值显示两者一样,不知道这DMA_count_get(DMA_CH4)到底咋用??
这两个不用中断也行!不知道咋回事??
麻烦火哥也解答一下
回复 支持 反对

使用道具 举报

22

主题

1613

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6784
QQ
威望
2910
贡献
1540
兑换币
1579
注册时间
2012-3-17
在线时间
1167 小时
3#
发表于 2013-3-22 11:38:57 | 只看该作者
两个不能用同一个端口。
例如你用了A17,第二个就不要用 A端口的,改成其他端口

回复 支持 反对

使用道具 举报

137

主题

2197

帖子

1

精华

知名人物

广州穗佳电子科技有限公司飞思卡尔专业店

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
23283

特殊贡献奖章资源大师奖章优秀版主奖章热心会员奖章论坛元老奖章活跃会员奖章优秀会员奖章在线王奖章论坛骨干奖章

QQ
威望
6807
贡献
12964
兑换币
9459
注册时间
2011-6-24
在线时间
1756 小时
4#
发表于 2013-3-22 13:13:36 | 只看该作者
亲,A19是晶振的!不能用的哦
回复 支持 反对

使用道具 举报

4

主题

397

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3933
威望
1759
贡献
1014
兑换币
898
注册时间
2012-8-27
在线时间
580 小时
5#
 楼主| 发表于 2013-3-22 13:23:32 | 只看该作者
jack_channel 发表于 2013-3-22 13:13
亲,A19是晶振的!不能用的哦

对.耶....我.....我二了...谢谢提醒.可是DMA还是不会用...定义两个就有一个没反应....
回复 支持 反对

使用道具 举报

4

主题

397

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3933
威望
1759
贡献
1014
兑换币
898
注册时间
2012-8-27
在线时间
580 小时
6#
 楼主| 发表于 2013-3-22 18:57:42 | 只看该作者
野火 发表于 2013-3-22 11:38
两个不能用同一个端口。
例如你用了A17,第二个就不要用 A端口的,改成其他端口

我现在改用A口和B口了.能够读到数据  DMA_count_Init(DMA_CH0, PTA17, 0x10, DMA_rising); DMA_count_Init(DMA_CH2, PTB2, 0x10, DMA_rising);
可是现在这第三个参数 累加计数中断值要怎么确定?我把他改小了他变化很小.改大了动一下就变很大..然后点击转快了读回来的值反而小了..不准啊..一定要进中断计数吗火哥...


回复 支持 反对

使用道具 举报

4

主题

239

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1869

优秀会员奖章

威望
932
贡献
543
兑换币
340
注册时间
2012-11-25
在线时间
197 小时
7#
发表于 2013-3-23 13:23:16 | 只看该作者
这样啊
回复 支持 反对

使用道具 举报

22

主题

1613

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6784
QQ
威望
2910
贡献
1540
兑换币
1579
注册时间
2012-3-17
在线时间
1167 小时
8#
发表于 2013-3-25 21:25:11 | 只看该作者
AOE 发表于 2013-3-22 18:57
我现在改用A口和B口了.能够读到数据  DMA_count_Init(DMA_CH0, PTA17, 0x10, DMA_rising); DMA_count_Ini ...

第三个参数是滤波左右,如果设置太大,过滤更严重,当然采集到的脉冲更少。

如果你能保证不溢出,那可以不用中断


回复 支持 反对

使用道具 举报

0

主题

42

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1874
威望
955
贡献
559
兑换币
422
注册时间
2012-9-7
在线时间
180 小时
9#
发表于 2013-3-26 13:43:58 | 只看该作者
野火 发表于 2013-3-25 21:25
第三个参数是滤波左右,如果设置太大,过滤更严重,当然采集到的脉冲更少。

如果你能保证不溢出,那可 ...

火哥,请问用DMA测速和正交解码哪个更好点啊?这几天我也在这纠结呢
回复 支持 反对

使用道具 举报

22

主题

1613

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6784
QQ
威望
2910
贡献
1540
兑换币
1579
注册时间
2012-3-17
在线时间
1167 小时
10#
发表于 2013-3-26 13:47:46 | 只看该作者
樽中月影﹠ 发表于 2013-3-26 13:43
火哥,请问用DMA测速和正交解码哪个更好点啊?这几天我也在这纠结呢

正交解码 肯定比DMA测速好,但是正交解码会用了FTM模块

回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-28 12:59 , Processed in 0.224635 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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