本帖最后由 wowangru 于 2018-11-6 15:12 编辑
用不用CS线有多大区别? 我想像串口一样任意收发不定长数据,且不占CPU, 可以不区分主从机。仅仅大数据量通信使用
另外请问SPI采用DMA接收时如何检测帧结束空闲? 帧长度可能不定! 即使帧长度一定,采用定长DMA完成中断,会不会因掉了一个SPI数据后,以后的帧所有数据错位?
看到SPI 结构图, 只有一个移位寄存器? 收发共用? 那如何做到收发同时呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
是STM32的那个系列芯片呢?
STM32F1XX,是只有通道的概念
STM32F4XX,DMA是有steam和channel都有的
对于F4的片子,应该是一个stream里,只能用一个通道的
F4的芯片 !!!!!!!!!
你做主机的时候,总线空闲是你自己可以知道的
做从机的时候,我觉得由CS信号的电平去判断吧
比如,你是从机,接收时用DMA,你将DMA的长度设置的尽可能大(大于可能的最长的帧),当你知道CS拉高的时候,说明传输完成,你可以获知DMA目前接收的长度,把收到的数据从DMA区里取出,再重新初始化DMA起点,这样不就可以了吗
一周热门 更多>