在线时间16 小时
UID413503
注册时间2015-6-3
NXP金币0
该用户从未签到
注册会员

- 积分
- 93
- 最后登录
- 2019-10-14
|
本帖最后由 XINQUAN-413503 于 2016-7-6 09:34 编辑
希望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;
}
但是12位的DAC的数据寄存器r分为低八位和高四位,地址也是分开的4003f000(DAT0L),4003f001(DAT0H),.我现在给的是4003f000,结果寄存器中的高八位DAT0H没有数值,低八位DAT0L正确。应该写哪个地址?
kl25有没有DAC 用DMA传输的的历程 |
|
|
|
|