This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

28335的DMA可否从RAM到GPIO传送32位数据?

我想以固定的节奏,例如每4个时钟周期,从RAM中取一个32位数放在GPIO上,RAM中有一块多个数据,循环向GPIO送,一旦开始,永不停歇,可以这样做吗?

实际用到的GPIO可能只是32bit中的若干个,不是全部。

  • hua zhang

    周期性从RAM中取32bit的数,这是可行的,但是DMA并不能直接操作GPIO。

    以下是DMA的触发源,以及起始和目的地。

  • 谢谢,其实你贴的这一段我看过,一马虎,错过了。

    这样,可能用的就是XINTF了,我能否这样设置,所有的XA都不用,设为其它用途;只用特定数量的XD,例如19位之类,然后连续不断地,间隔固定地向XD发32位数字?

  • 这样的操作是可以的,不过由于没有使用XA,需要注意避免数据的覆盖

  • 谢谢啊。

    不过,“需要注意避免数据的覆盖”是什么意思?是指的XA吗?

    底下的“LiveSine”是何意思?是有这样的例程吗?看着就像我要干的事。

  • XINTF的数据传输是判断地址的,发完一个数,地址加1,再发下一个。由于你没有用到XA,所以你不能判断当前接收到的数是第一个还是第二个。假如你没有及时读取第一个数,可能收到的是第二个发送的数据,即第一个数据被第二个数据覆盖了。

    “LiveSine”是签名,是我们公司名称,打广告吧,不是例程

  • 哈哈,我联想过于丰富了。“LiveSine”不就是即时正弦波的意思吗?这正是我要做的。

    我在XD外面接R-2R网络,在XD上输出数据,就变成了DA。连续地输出正弦波的数据,不就是Live Sine?