spi通信,一直接收不到数据
我用spi1作为主机,spi2作为从机,想实现收发数据,但是一直接收不打数据寄存器没配置好 stary666 发表于 2015-7-22 14:02
寄存器没配置好
能具体一点么? HAL库函数HAL_SPI_Transmit里面就带有TXE标志位检测了,同样的HAL_SPI_Receive里面也有RXNE检测了,没有必要自己再去调用了吧。HAL库的特点就是把这些判断标志位的东西封装在了函数里面,要不和标准库就一样了。 creep 发表于 2015-7-22 14:20
HAL库函数HAL_SPI_Transmit里面就带有TXE标志位检测了,同样的HAL_SPI_Receive里面也有RXNE检测了,没有必 ...
问题是我接收函数一直就收不到,我去掉while函数,依然就收不到数据 HAL库里接收发送函数里面有存储数组,你只需要根据参数要求定义好接收位置即可。 gronau 发表于 2015-7-22 14:38
HAL库里接收发送函数里面有存储数组,你只需要根据参数要求定义好接收位置即可。 ...
什么意思?我自己定义了一个数组,用来放接收的数据,HAL_SPI_receive函数的第三个参数不就是存放数据的地址么? lslp 发表于 2015-7-22 14:43
什么意思?我自己定义了一个数组,用来放接收的数据,HAL_SPI_receive函数的第三个参数不就是存放数据的 ...
你说的这个函数我用过,应该还有一个参数是配置接收个数的。仔细看一下。 lslp 发表于 2015-7-22 14:43
什么意思?我自己定义了一个数组,用来放接收的数据,HAL_SPI_receive函数的第三个参数不就是存放数据的 ...
还有就是注意是8位还是16位通信啊。 lslp 发表于 2015-7-22 14:33
问题是我接收函数一直就收不到,我去掉while函数,依然就收不到数据
如果你想练手或者测试SPI的话建议还是直接连个外设比如外部FLASH或者SD卡模块,那样简单很多。