STM32 SPI 通讯问题 (配置传输方向及如何接收数据)
SPI_Direction_2Lines_FullDuplexSPI设置为双线双向全双工SPI_Direction_2Lines_RxOnlySPI设置为双线单向接收SP...
SPI_Direction_2Lines_FullDuplex
SPI设置为双线双向全双工
SPI_Direction_2Lines_RxOnly
SPI设置为双线单向接收
SPI_Direction_1Line_Rx
SPI设置为单线双向接收
SPI_Direction_1Line_Tx
SPI设置为单线双向发送
上面是从网上抄来的,麻烦知道的朋友帮看下,上面是否正确,还有这4个配置分别应用于什么场合,新手求指导!
另外,SPI的数据接收该怎么弄啊?我的应用是先主机发送一串数据帧,从机接收完成后再根据指令类型回复内容。 我现在是先调用SPI_I2S_SendData先把指令全发送过去,然后过一段时间以后再发送一串无意义字节,以给从机提供时钟,从机获得时钟后再回复我内容。然后在SPI中断服务程序里面检测是否是接收到数据了,请问这个处理是最简洁的吗? 因为从机要根据具体帧内容才决定回复内容,所以不能像某些代码一样,在主机发送的同时,从机利用这个时钟马上也回复8bit数据给主机
附中断服务程序
if(SPI_I2S_GetFlagStatus(SPI2,SPI_I2S_FLAG_RXNE)==SET)
{
u16 data = SPI_I2S_ReceiveData(SPI2);
uart_rec_buf[len++] = data;
} 展开
SPI设置为双线双向全双工
SPI_Direction_2Lines_RxOnly
SPI设置为双线单向接收
SPI_Direction_1Line_Rx
SPI设置为单线双向接收
SPI_Direction_1Line_Tx
SPI设置为单线双向发送
上面是从网上抄来的,麻烦知道的朋友帮看下,上面是否正确,还有这4个配置分别应用于什么场合,新手求指导!
另外,SPI的数据接收该怎么弄啊?我的应用是先主机发送一串数据帧,从机接收完成后再根据指令类型回复内容。 我现在是先调用SPI_I2S_SendData先把指令全发送过去,然后过一段时间以后再发送一串无意义字节,以给从机提供时钟,从机获得时钟后再回复我内容。然后在SPI中断服务程序里面检测是否是接收到数据了,请问这个处理是最简洁的吗? 因为从机要根据具体帧内容才决定回复内容,所以不能像某些代码一样,在主机发送的同时,从机利用这个时钟马上也回复8bit数据给主机
附中断服务程序
if(SPI_I2S_GetFlagStatus(SPI2,SPI_I2S_FLAG_RXNE)==SET)
{
u16 data = SPI_I2S_ReceiveData(SPI2);
uart_rec_buf[len++] = data;
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询