过程:使用了HAL的HAL_SPI_TransmitReceive_DMA函数,该函数负责实现SPI通讯,并在实现后会调用一个叫做HAL_SPI_TxRxCpltCallback的回调函数。如果在HAL_SPI_TxRxCpltCallback使用HAL_Delay函数,程序便会一直卡死。 如下图:理论上在完成通讯后,会点亮一个LED灯0.5S,接着熄灭。但是程序却卡在了这里,灯并没有熄灭。...
最近使用STM32L476 驱动NRF2401 无线模块,spi的设定采用cube生成后,移值了原子哥的F407HAL库驱动NRF2401例程,修改相应引脚后发现check通不过,即检测不到该模块的存在。经过排查发现是在HAL_SPI_TransmitReceive(&SPI1_Handler,&buffer,&Rdbuf,1, 1000);这出现了问题 发现不论buffer是什么值,Rdbuf返回的值都为9。
HAL_SPI_TransmitReceive函数,NSS信号还没到发clk就自己拉高了。很奇怪。很多人也遇到了这个问题,很多人都是手动发nss信号解决,我也先这样。但是有什么其他办法吗? 蓝梦妖蝶 默默无闻 1 新问题第一个周期信息不全。第一个周期clk没有初始化成低,没有先低后高。导致第一个数据总是收不全。这里NSS信号,是...