注册 登录
查看: 464|回复: 5

[K60] DMA有关脉冲计数的讨论

[复制链接]
发表于 2014-2-22 10:05:35 | 显示全部楼层 |阅读模式
山外的库里面的DMA模块:

这个宏定义的量是用干嘛的啊?
#define DMA_CITER_ELINKNO(index)                 DMA_CITER_ELINKNO_REG(DMA_BASE_PTR,index)

在这个程序里面调用了它
u32 DMA_count_get(DMA_CHn CHn)
{
    u32 temp =  count_init[CHn] - DMA_CITER_ELINKNO(CHn)  ;
   
     //u32 count_init[16],用来保存16个通道的初始化计数值
   
    return temp;
}

这个程序怎样实现计数?求解释?
回复

使用道具 举报

发表于 2014-2-22 11:52:32 | 显示全部楼层

回帖奖励 +1

这个需要看数据手册啊,RM手册。

手册上有寄存器说明的,DMA_CITER_ELINKNO_REG应该就是递减的计数器,表示传输了多少次。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-22 17:06:59 | 显示全部楼层
隗英秀 发表于 2014-2-22 11:52
这个需要看数据手册啊,RM手册。

手册上有寄存器说明的,DMA_CITER_ELINKNO_REG应该就是递减的计数器,表 ...

再麻烦你一次,count_init[CHn]这个是定值?如果是,那是多少?
回复 支持 反对

使用道具 举报

发表于 2014-2-22 17:09:44 | 显示全部楼层
逝去的星光 发表于 2014-2-22 17:06
再麻烦你一次,count_init[CHn]这个是定值?如果是,那是多少?

这个是调用初始化函数的时候传递的值
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-22 17:09:51 | 显示全部楼层
隗英秀 发表于 2014-2-22 11:52
这个需要看数据手册啊,RM手册。

手册上有寄存器说明的,DMA_CITER_ELINKNO_REG应该就是递减的计数器,表 ...

谢谢啊,我已经搞清楚了,原来是自己设定的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-23 15:01:23 | 显示全部楼层
Admin 发表于 2014-2-22 17:09
这个是调用初始化函数的时候传递的值

,好的,谢谢哦
回复 支持 反对

使用道具 举报

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

本版积分规则

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