7回答

0收藏

[求助] 怎样将数组中的数据通过DMA向IO端口传输出来?

英飞凌 英飞凌 3840 人阅读 | 7 人回复 | 2013-05-23

DMA向内部的DAC传输数据可以实现,但不知道DMA是否可以向IO口传数据,实现外部的DAC芯片转化。
重要的是CyDmaTdSetAddress()里边的目的地址是多少?希望高手指点一下

分享到:
回复

使用道具 举报

回答|共 7 个

倒序浏览

沙发

低调做高人

发表于 2013-5-24 13:32:28 | 只看该作者

回帖奖励 +1 与非币

如果数据是8位的话,
Pin_1_DR = 0xfd; 和 Pin_1_Write(0xfd);
这两句话的效果是一样
不知道目的地址是Pin_1_DR能不能实现,
我没试过,都是菜鸟
希望楼主试试,我也好学习一下
板凳

Go_for_it

发表于 2013-5-24 19:03:56 | 只看该作者

低调做高人 发表于 2013-5-24 13:32
如果数据是8位的话,
Pin_1_DR = 0xfd; 和 Pin_1_Write(0xfd);
这两句话的效果是一样

恩,我翻了一下头文件找到的确是这个,不知道为啥不行。我是想用一下外部的DA
地板

Go_for_it

发表于 2013-5-24 19:17:28 | 只看该作者

低调做高人 发表于 2013-5-24 13:32
如果数据是8位的话,
Pin_1_DR = 0xfd; 和 Pin_1_Write(0xfd);
这两句话的效果是一样

内部的DAC的地址是VDAC8_1_Data_PTR这个
5#

Go_for_it

发表于 2013-5-24 19:20:30 | 只看该作者

低调做高人 发表于 2013-5-24 13:32
如果数据是8位的话,
Pin_1_DR = 0xfd; 和 Pin_1_Write(0xfd);
这两句话的效果是一样

VDAC8头文件中的定义如下:
/***************************************
*              Registers        
***************************************/
#define VDAC8_1_Data        (* (reg8 *) VDAC8_1_viDAC8__D )
#define VDAC8_1_Data_PTR    (  (reg8 *) VDAC8_1_viDAC8__D )
看的不是很明白两个的用途
6#

Go_for_it

发表于 2013-5-24 19:30:06 | 只看该作者

终于解决了,我仿照那个VDAC8的定义,直接改头文件
7#

低调做高人

发表于 2013-5-24 21:09:29 | 只看该作者

{:soso_e179:}
这是个不错的办法,
我也是毕业设计刚接触的psoc,
也是菜鸟,
有问题可以一起研究一下,
8#

Go_for_it

发表于 2013-5-25 08:34:36 | 只看该作者

低调做高人 发表于 2013-5-24 21:09
这是个不错的办法,
我也是毕业设计刚接触的psoc,
也是菜鸟,

我跟你一样,都在毕业设计,第一次接触
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条