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.

SCI使用DMA

请问28335的SCI可否使用DMA,由于需要多个串口进行数据接收,为提高效率想使用DMA来传送数据,可是没有找到相关说明,请问TI方面是否有相关解决方法

  • 我使用28335控制两个无刷电机做伺服,由于位置传感器和速度传感器都是使用422进行盲发传输位置信息和速度信息,再加上其他设备的通信也是使用422,所以在控制过程中如果使用SCI的FIFO中断接收数据有时候会出现断帧的现象,例如位置数据的接收,每一帧10个字节,每0.25ms发送一次,当其他中断占用CPU时可能会出现接收到的数据还没有来得及读取就被下一帧数据部分覆盖造成接收数据错误,当位置传感器已经初始化完成并开始发送数据,但由于我需要系统初始化而SCI要等系统初始化完成以后才能接收数据,这样也会造成数据被覆盖而错帧,所以我想使用SCI触发DMA来接收数据,但SCI无法直接触发DMA,所以请问有没有什么方法能够在CPU不参与的情况下通过DMA将SCI的数据传输到指定的地址?

  • SCI如果支持DMA的话 不就是你需求的这种应用吗
    SCI接收的数据直接传到指定的内存位置 不需要cpu参与
  • 好像SCI不支持DMA啊,没有找到SCI触发DMA的介绍啊,SCI 接收的数据可以传到指定的内存?还有这种操作啊?没找到相关说明啊,请问这种操作怎么实现?

  • 好像SCI不支持DMA啊,没有找到SCI触发DMA的介绍啊,SCI 接收的数据可以传到指定的内存?还有这种操作啊?没找到相关说明啊,请问这种操作怎么实现?