请教,stm32 HAL 库的SPI通信数据读取全是0问题?!

2019-12-24 18:35发布

使用CUBEMX生成的配置工程,仅仅配置了一个RCC时钟和SPI1,PA4配置为输出,其他配置没有。
使用HAL_SPI_Transmit函数和HAL_SPI_Receive函数,或者HAL_SPI_TransmitReceive函数来读取数据,但是读取的数据都是0!!
现在,不知的问题到底出在哪,大家有谁遇到过这个问题,还麻烦大家指导一下,万分感谢!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
hswkcg
1楼-- · 2019-12-24 21:42
本帖最后由 hswkcg 于 2017-9-7 16:55 编辑

找到问题了,是数据线MOSI和MISO接反了。正确的接法是:
MOSI ————MOSI
MISO————MISO
CS————CS
SCK————SCK

一般出现读取数据为0 主要是这几个因素(测试):
1.硬件接线接反;
2.MSB/LSB不对应
3.相位极性不对
4.SPI波特率过高,尤其是1个SPI采集多路的时候。

结帖。
hswkcg
2楼-- · 2019-12-24 22:20
片选信号都是对的,示波器打出来看了
xuzhiping9889
3楼-- · 2019-12-25 03:17
 精彩回答 2  元偷偷看……
shell.albert
4楼-- · 2019-12-25 06:11
前段时间调STM32L433RC也是楼主这样的问题,也是使用的STM32CubeMX生成的工程模板,HAL库真心不好用,可能我没不会用吧,
最后就放那里了,示波器测量都有信号,楼主怎么解决的,分享一下啦。
yayagepei
5楼-- · 2019-12-25 08:50
源码可以贴出来么?只是现象不好判断啊

一周热门 更多>