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

GD32 SPI 断电再上电,造成时钟失效的问题

[复制链接]
556 提问时间:2023-8-31 09:53 / 已解决
我在 使用 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 发布时间:2023-8-31 09:53

举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版