stm32L476 使用SPI函数HAL_SPI_TransmitReceive()读出数据错误

jim船长 2019-06-02 08:31:31
最近使用STM32L476 驱动NRF2401 无线模块,spi的设定采用cube生成后,移值了原子哥的F407HAL库驱动NRF2401例程,修改相应引脚后发现check通不过,即检测不到该模块的存在。经过排查发现是在HAL_SPI_TransmitReceive(&SPI1_Handler,&buffer,&Rdbuf,1, 1000);这出现了问题 发现不论buffer是什么值,Rdbuf返回的值都为9。


为了验证这一点在初始化spi以后,在main中运行以下代码:

Rdbuf返回的值仍然为9。这是为什么? 求解!

ps:
时钟按照默认配置最大值80MHZ
spi配置是cube自动生成的,另外从原子哥的例程里移值了以下代码在spi.c文件里
...全文
2901 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_43405272 2019-08-31
  • 打赏
  • 举报
回复 2
我的一直是0
minewdy 2019-06-04
  • 打赏
  • 举报
回复
做个配置貌似也没啥问题, 接外设了没? 确实可以整个逻辑分析试试
forget345 2019-06-03
  • 打赏
  • 举报
回复
比如有些引脚上电后默认是 JTAG脚,有些是 OSC脚。 调试直观的方式还是用 逻辑分析仪监测各个引脚的信号是否正确。
jim船长 2019-06-03
  • 打赏
  • 举报
回复
引用 1 楼 forget345 的回复:
1、代码不全,不记得hal库是否需要初始化引脚了,是否使用了默认非GPIO的引脚,如是需配置 2、逻辑分析仪是个好工具
关于SPI相关引脚的初始化,stm32cube自动生成的spi初始化函数中已对 SPI相关引脚进行了初始化 另外,“默认非GPIO的引脚”是什么意思?
forget345 2019-06-03
  • 打赏
  • 举报
回复
1、代码不全,不记得hal库是否需要初始化引脚了,是否使用了默认非GPIO的引脚,如是需配置 2、逻辑分析仪是个好工具
内容概要:本文围绕“基于改进秃鹰算法的微电网群经济优化调度”展开研究,利用Matlab代码实现优化算法的仿真与复现。研究重点在于通过改进的秃鹰搜索算法(Bald Eagle Search Algorithm, BESA)解决微电网群在运行过程中的经济调度问题,提升算法的收敛速度与全局寻优能力,以实现对分布式能源、储能系统及负荷的高效协调管理。文中详细阐述了微电网群的系统架构、数学建模过程、目标函数设计(如运行成本最小化、碳排放降低等),并结合智能优化算法进行求解,验证了改进算法相较于传统方法在调度精度和效率方面的优越性。同时,研究还探讨了算法在多场景下的适应性,为微电网群的智能化、低碳化运行提供了技术支持与实践参考。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及从事微电网、智能优化算法相关工作的工程技术人员。; 使用场景及目标:① 学习并掌握改进秃鹰算法在复杂优化问题中的应用方法;② 实现微电网群经济调度模型的构建与求解;③ 对比不同智能算法在电力系统优化中的性能表现;④ 为科研论文复现、课题研究或工程项目提供算法支持与代码参考。; 阅读建议:建议读者结合文中提供的Matlab代码逐模块分析,重点关注算法改进策略与调度模型的耦合实现方式,同时可尝试在不同参数设置或场景条件下进行仿真实验,以加深对算法性能与调度效果的理解。

27,521

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧