|
本阶段正在做一个有关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通信正常。 |
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版
一跳一个坑