查看: 2540|回复: 2

[求助] 关于DAC与DMA的数据传输问题

[复制链接]

该用户从未签到

3

主题

5

帖子

0

新手上路

Rank: 1

积分
43
最后登录
2015-3-21
发表于 2014-9-21 21:11:09 | 显示全部楼层 |阅读模式
希望DMA从内存的一组数组中读取16位整数,然后赋给DAC 的buffer0中,但是12位的DAC,每个buffer分为低八位和高四位,怎样可以设置使得DMA的数直接传到DAC buffer中呢。
例程中
void LPLD_DAC_SetBufferDataN(DAC_Type *dacx, uint16 data, uint8 num)
{
  //参数检查
  ASSERT( (num <= 16)&&(num > 0) );  //判断数据序号

  dacx->DAT[num-1].DATL = data & 0x0FF;
  dacx->DAT[num-1].DATH = (data & 0xF00)>>8;
}

两个八位寄存器是分开来设置的。
我知道答案 目前已有2人回答
回复

使用道具 举报

该用户从未签到

0

主题

147

帖子

0

中级会员

Rank: 3Rank: 3

积分
343
最后登录
1970-1-1
发表于 2014-9-28 15:01:27 | 显示全部楼层
DMA不是可以设置目标地址吗?
直接把DAC的buff地址作为目标地址,然后设置好长度。
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

26

帖子

0

注册会员

Rank: 2

积分
93
最后登录
2019-10-14
发表于 2016-7-6 08:48:49 | 显示全部楼层
楼主问题解决了吗
我也正在看这方面的东西,试验了一下,只能写在DAT0L中,高位没有写进去
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-18 22:56 , Processed in 0.088818 second(s), 23 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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