版主及各大神,
在用28335的DMA功能读ADC时发现了问题, 工程是这样的, 第20ms的周期触发一次ADC采样, 一次采样16通道, 共4K个数据,数据可以正常采样, 另为测试工程,写了个函数,代替采样数据,用sin函数产生4K个点,
。。。
for(i=0; i<bufsize; i++ )
{
y = 1024 *sin(phase); y+=2048;
*(bufaddr+i) = y; phase+=step;
if (phase > 2*PI) phase-=2*PI;
}
。。。
结果发现用DMA采样时,CPU的占用率比用测试函数产时数据的占用率高近50% 为什么会这样, 不是用DMA几乎不点用CPU的嘛, 应该是用DMA是的CPU占用率更少啊,
还是因为用DMA时占用了总线, CPU不能工作, 这样也说不通啊, DSP内不是多总线的吗
onebyte:
亲,简洁有效的描述,更容易别人看懂你的问题