智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 8385|回复: 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不出错得修改些什么呢...请火哥解救...

68

主题

439

帖子

2

精华

版主

Rank: 9Rank: 9Rank: 9

积分
4618
QQ
威望
2342
贡献
1290
兑换币
1175
注册时间
2009-12-24
在线时间
493 小时
21#
发表于 2015-7-4 15:48:17 | 只看该作者
哎,人家官方已经把这个问题写的很明白了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

0

主题

16

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1193
威望
724
贡献
267
兑换币
238
注册时间
2013-11-17
在线时间
101 小时
毕业学校
北华大学
20#
发表于 2014-3-17 20:06:50 | 只看该作者
野火 发表于 2013-3-25 21:25
第三个参数是滤波左右,如果设置太大,过滤更严重,当然采集到的脉冲更少。

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

火哥,那个DMA能不能同时用?我要用来采两路脉冲 ,DMA_count_Init()函数里面的地址为什么是一个固定地址?麻烦火哥了,此问题困扰了好久了,万分感谢!
回复 支持 反对

使用道具 举报

2

主题

7

帖子

0

精华

高级会员

Rank: 4

积分
946
威望
468
贡献
280
兑换币
291
注册时间
2014-1-10
在线时间
99 小时
毕业学校
大连海事大学
19#
发表于 2014-3-15 21:05:37 | 只看该作者
野火 发表于 2013-3-26 13:47
正交解码 肯定比DMA测速好,但是正交解码会用了FTM模块

火哥    DMA能测速吗   为什么我写的dma的程序出不来。   有DMA的测速的例程吗
回复 支持 反对

使用道具 举报

22

主题

1613

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6784
QQ
威望
2910
贡献
1540
兑换币
1579
注册时间
2012-3-17
在线时间
1167 小时
18#
发表于 2013-11-17 17:52:48 | 只看该作者
2601819196 发表于 2013-11-17 16:19
DMA读数初始化:
DMA_count_Init(DMA_CH4,PTC11,999,DMA_rising);  //right
//   Gpio_init(PORT_C,11 ...

DMA 测脉冲,我们发现容易受到干扰,因此也不再推荐使用。
回复 支持 反对

使用道具 举报

38

主题

276

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3032
威望
1999
贡献
135
兑换币
1253
注册时间
2013-1-25
在线时间
449 小时
17#
发表于 2013-11-17 16:19:26 | 只看该作者
野火 发表于 2013-3-22 11:38
两个不能用同一个端口。
例如你用了A17,第二个就不要用 A端口的,改成其他端口

DMA读数初始化:
DMA_count_Init(DMA_CH4,PTC11,999,DMA_rising);  //right
//   Gpio_init(PORT_C,11,0,0);   //PTC0像素中断设置为输入状态      
//   PORTC_PCR11|=PORT_PCR_IRQC(1);   //PORTC_PCR0|=PORT_PCR_IRQC(1),触发端口设置成为DMA请求状态
    PORTC_PCR11|=0x01;

读取脉冲累加的数值:
if(TimerCntms1>=5)
          {
               TimerCntms1=0;
               
               speedr=DMA_count_get(DMA_CH4);
               DMA_count_reset(DMA_CH4);
               
          }
我就不知道这有什么问题,感觉是对的,测得时候就是没读数。
回复 支持 反对

使用道具 举报

4

主题

27

帖子

0

精华

高级会员

Rank: 4

积分
652
威望
333
贡献
183
兑换币
216
注册时间
2013-3-27
在线时间
68 小时
16#
发表于 2013-6-19 15:45:41 | 只看该作者
野火 发表于 2013-3-25 21:25
第三个参数是滤波左右,如果设置太大,过滤更严重,当然采集到的脉冲更少。

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

请问一下,这个值怎么设置,怎么好像不是滤波作用,我们设置的是0x7FFF,加速度设置I参数时,就出现一系列的问题,这是怎么回事,是不是这个设置的原因
回复 支持 反对

使用道具 举报

0

主题

29

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1199
威望
514
贡献
303
兑换币
262
注册时间
2013-3-17
在线时间
191 小时
15#
发表于 2013-5-15 20:57:37 | 只看该作者
野火 发表于 2013-3-25 21:25
第三个参数是滤波左右,如果设置太大,过滤更严重,当然采集到的脉冲更少。

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

火哥,关于第三个参数的问题可以说的再清楚点吗?刚刚入门的人真心伤不起呀
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
204
威望
108
贡献
66
兑换币
70
注册时间
2012-12-26
在线时间
15 小时
毕业学校
常州大学
14#
发表于 2013-5-9 18:50:52 | 只看该作者
野火 发表于 2013-4-8 08:52
我们Q群里有参考的程序啊,

万分感谢,
回复 支持 反对

使用道具 举报

22

主题

1613

帖子

1

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6784
QQ
威望
2910
贡献
1540
兑换币
1579
注册时间
2012-3-17
在线时间
1167 小时
13#
发表于 2013-4-8 08:52:36 | 只看该作者
tong__yi 发表于 2013-4-6 15:23
火哥,有正交解码的参考程序吗

我们Q群里有参考的程序啊,


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-4 10:43 , Processed in 0.362300 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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