完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在 使用GD32调试165获取编码器IO口状态的时候,遇到了一个问题,我的SPI2 在仿真的时候接数据是正常的,可是在退出仿真,然后进行断电操作 再上电的时候就 出现了 读出来的数据一直是0,后面用示波器看到了发现时钟没了。推断是SPI没有初始化成功(不会查怎么看是不是所以只靠猜了)。
然后我尝试了 延时读取数据 。。。失败! 复位SPI再配置。。。失败! 复位后延时5ms再配置。。。失败! 减低SPI速率。。。失败! 后来在一个贴子上面找了一个解决方法: 原因:可能是因为SPI2 的一个脚 PB3和JTAG的脚是同一个脚,所以断电再开机的时候MCU默认这个管脚的功能是JTAG,导致了SPI2失效。 解决办法: //添加了SWD _JTAG的 IO 重映射配置,把JTAG禁止,只使用SWD仿真引脚 gpio_pin_remap_config(GPIO_SWJ_SWDPENABLE_REMAP,ENABLE); 但是具体是不是这个原因不太清楚,希望有知道的大佬可以赐教一下!感谢! |
|
相关推荐
1个回答
|
|
SPI时钟失效的可能原因是接线问题或者初始化配置错误导致SPI外设无法正常工作。解决方法可以包括以下几个步骤:
1. 确保SPI连接的接线正确,包括时钟线、数据线和片选线等。 2. 检查SPI初始化配置是否正确,例如设置了正确的时钟分频、数据位长度和传输模式等。 3. 在初始化SPI之前,先复位SPI外设并延时一段时间再进行配置。 4. 尝试调整SPI的时钟速率,降低传输速度以提高稳定性。 5. 检查其他可能会影响SPI工作的因素,例如供电电压是否稳定、其他IO口的冲突等。 6. 可以尝试把SPI2的PB3引脚与JTAG的脚分离,避免冲突。 除了以上方法,还可以尝试其他可能的解决方案,如使用外部晶体提供更稳定的时钟源,或者重新设计硬件布局以避免引脚冲突等。最好的解决方法是参考芯片厂商提供的官方文档和示例代码,确保正确配置和使用SPI外设。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1097 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1111 浏览 1 评论
549 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
415 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
996 浏览 2 评论
1594浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
263浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
276浏览 3评论
245浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
238浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-16 21:23 , Processed in 0.881343 second(s), Total 49, Slave 43 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号