你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32实战经验:STM32F0系列主板与CR95HF芯片之间的SPI通信问题

[复制链接]
西奥伟 发布时间:2019-2-28 10:29
本阶段正在做一个有关CR95HF芯片的项目,首先是在对CR95HF库的移植所遇到的问题,然后,就是CR95HF硬件调试的问题。
问题现象1:从CR95HF芯片原来的F1库的源代码移植到自己的项目F0库中,移植完源代码之后,用示波器调试发现SCK引脚以及MOSI引脚都没有波形?

经过检查对比移植的代码与源码库中的代码,唯一变动的部分就是GPIO引脚的不同,源码库中所使用的GPIO引脚是复用的SPI1,而自己项目中使用到的GPIO引脚是NSS->PB12 ,SCK->PB13,MISO->PB14, MOSI->PB15。于是,首先检查了SPI1和SPI2复用的不同点,SPI1是挂载在外设APB2上面的,SPI2是挂载在APB1上面的。检查了对应的时钟源是否使能,最后,发现我使用的SPI2的时钟源是正常打开的。经过了一遍又一遍的对比,最后,发现自己在配置硬件SPI的GPIO引脚上面犯了差错,自己将MISO引脚配置成了PB15,MOSI引脚配置成了PB14,恰恰将这两个引脚接反了。将这两个引脚交换回来以后,用示波器能够正常测试出SCK波形图。

问题现象2:调试硬件CR95HF模块的初始化部分的代码,发送轮询POLL命令,MCU收到的数据一直是0xFF,不是正确的响应数据0X0800,使用示波器检测主板的SCK引脚,MOSI引脚,MISO引脚,SCK引脚和MOSI引脚都有正常的方波出现,MISO引脚一直为高电平?

最开始,根据模块的数据手册查看,以为是主板的NSS引脚没有起作用,会造成MOSI引脚发送的数据无效,MISO引脚呈高阻抗状态,但是,经过测试发现NSS引脚的电平是正常的,活跃的状态。又调试花费了一大半天之后,根据自己的这一现象查询了知识点,发现可能是硬件方面的原因,第一种可能就是CR95hf硬件模块的问题,根本就没有工作起来,没有给我的主板回复数据。第二种可能就是主板的问题,主板的pin脚网络连接问题,故核对引脚接线图,最后,发现原理图当中的主板的MISO引脚接到CR95HF模块的MOSI引脚上,主板的MOSI引脚连接到CR95HF模块的MISO引脚上面,硬件pin脚交叉接反了,最后,飞线把顺序换回来,SPI通信正常。
收藏 评论2 发布时间:2019-2-28 10:29

举报

2个回答
Kevin201707 回答时间:2019-2-28 19:30:30
这问题。。。
西奥伟 回答时间:2019-3-4 14:16:17

一跳一个坑

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版