2019-08-17 00:20发布
阳光2260 发表于 2017-7-14 15:17 这样的话,时间就更慢了
Owen 发表于 2017-7-14 15:17 我觉得你可以试试DMA循环模式。开个几K的缓冲区,UART循环着往里写,SPI循环着往外读。但是这样需要两个标 ...
阳光2260 发表于 2017-7-14 15:33 你好,我仔细想了一下你说的方法,有点困难。 主要是速度的问题,如果控制好速度的话,应该没问题。 DM ...
最多设置5个标签!
..........哪里会慢了?
你好,我仔细想了一下你说的方法,有点困难。
主要是速度的问题,如果控制好速度的话,应该没问题。
DMA不需要CPU,直接后台就可以接收,万一SPI还没来得及处理数据,DMA接收的数据就会覆盖之前的数据的。
所以缓冲区不能太小。我觉得可以考虑配合定时器。把SPI的速度开的非常快,然后每次计时一定值之后开启SPI读走缓冲区中的数据。只要定时器的间隔小于UART填满缓冲区所需时间的一半应该就可以做到UART写一半,SPI读另外一半。当然定时间隔不能太短,不然SPI读不完。
一周热门 更多>