本帖最后由 wowangru 于 2018-11-6 15:12 编辑
用不用CS线有多大区别? 我想像串口一样任意收发不定长数据,且不占CPU, 可以不区分主从机。仅仅大数据量通信使用
另外请问SPI采用DMA接收时如何检测帧结束空闲? 帧长度可能不定! 即使帧长度一定,采用定长DMA完成中断,会不会因掉了一个SPI数据后,以后的帧所有数据错位?
看到SPI 结构图, 只有一个移位寄存器? 收发共用? 那如何做到收发同时呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
,感觉上,如果接收前就设置接收DMA,感觉不太可行吧,起码要知道待接收的长度以后,在开启DMA接收。
别的办法暂时我还没想到
usart可以!!! SPI如果开DMA定长接收完成中断,就怕出现干扰掉一个字节,后面的数据都错位, 每次中断的后接收的数据都错位!!!
spi跟串口本质是不一样的,串口的接收是被动的
对于spi主机来说,接收是主动的,需要你去产生读的时钟。所以说,这个所谓的空闲,是主机去主动控制的,你不发时钟了,就是空闲了
这个读过程可以完全采用DMA吗? 不需用CPU参与, 读的同时 又有可能会发送数据, 读写独立
他的spi是主机。硬设置成从机,时钟都没有如何传输呢
一周热门 更多>