托马斯小火车 发表于 2013-8-16 14:36:51

有谁用过lpc1768串口的DMA


最近在搞伺服电机控制因为驱动器要和上位机调试软件通信,现在选用的是串口通信,但是普通的串口发送太影响整个控制周期,所以想用DMA的方式,DMA基本上是调通了,数据能正常发送,但是前提是发送周期比较大(10ms一次性发送8个字节的数据),然后就尝试1ms发送一次,结果就出问题了,有部分数据就会丢失,不知道是DMA模式的配置问题,还是DMA本身发数据的间隔有一定的限制,还望大侠指导迷津。。。

fuquan19801117 发表于 2014-8-26 18:56:04

我的QQ798821723,或者把源码发上来。

yangwenfan88 发表于 2014-8-26 20:32:17

这个和你的波特率有关系的啊,比如你发送8个字节,波特率比较低,本身8个字节需要的时间就比较长,大于1ms的话,你已1ms为周期,肯定有数据丢失啊。循环发送,一定要确认上次发送的数据有没有发送完成。如果必须这个间隔的话,建议好好计算一下需要的最小波特率。

fuquan19801117 发表于 2014-8-31 20:28:08

不错的确和波特率有关系,可以计算下就知道了,可以用一种方式不要管他的发送时间因为DMa会帮你忙,到时不要忘了把标志位清一下哦。

托马斯小火车 发表于 2014-9-6 12:02:54

fuquan19801117 发表于 2014-8-31 20:28
不错的确和波特率有关系,可以计算下就知道了,可以用一种方式不要管他的发送时间因为DMa会帮你忙,到时不 ...

我是115200,刚算了下应该是没有问题 8*10/115200 = 0.694ms
页: [1]
查看完整版本: 有谁用过lpc1768串口的DMA