1830|3

2942

帖子

4

TA的资源

五彩晶圆(中级)

楼主
 

求助:STM32G431CBT6的PB8引脚如何重映射为I2C引脚 [复制链接]

我的板子STM32G431CBT6的PB8-BOOT0引脚设计成与AT24C08设备连接,但是PB8默认是BOOT0功能,我是用STM32CubeMX生成的程序,但是工作不正常。即使不使用做I2C作为GPIO输出也是不工作地,我和论坛里的@damiaa都做了相同的实验,实验结果都是:无论程序里怎么设置PB8的状态,PB8都是0也就是GND。我为了系统能够工作,我的系统PB8使用工具软件,将设置位nSWBOOT0=0、BOOT0=0;只有这样我的板子才能工作,否则无法烧录程序。求助各位高手给与指导。如果有能与ST的工程师联系的人请向原厂反馈一下。万分感谢各位!

此帖出自stm32/stm8论坛

最新回复

图片没有复制过来,需的可以点底部的原文链接查看。   详情 回复 发表于 2022-11-28 19:31
点赞(1) 关注
 

回复
举报

9795

帖子

24

TA的资源

版主

沙发
 

我们知道,STM32一般可以通过BOOT0和BOOT1的不同组合来设置启动方式。

之前用过STM32G070CBT6,这个芯片的BOOT0是和PA14在一起的:

这个比较简单,我们知道PA13和PA14是芯片的SWD接口,我们只需要在这个引脚上下拉一个100K的电阻即可。这样,SWD功能和BOOT0的功能都兼顾到了,系统复位或者启动的时候,检测到PA14-BOOT0的电平为低电平,然后正常启动之后,这个引脚可以作为IO或者SWD功能使用。

但是对于新使用的STM32G431KBU6来说,上述的方法就行不通了,如下图:

从上面CUBE MX 的引脚图中也可以看到,31脚的名称叫做PB8-BOOT0,我在一个设计中把PB7和PB8当作硬件IIC使用,这就需要给这两个引脚外挂4.7K上拉电阻。而按照通常的启动方式来看,我们要从主flash启动,需要启动时BOOT0引脚的电平为地电平,而IIC总线外挂了4.7K上拉电阻,使得无论如何都不能让启动瞬间这个引脚电平为低电平。

这时候不要怕,我们翻看手册DS12589,可以看到:

也就是说BOOT0我们可以通过PB8-BOOT0这个引脚来设置,也可以通过Option Byte中的nBOOT0 option bit来设置,现在我们不能通过前者来设置,只能通过Option Byte中的nBOOT0 option bit来设置系统的启动方式了。

我们在用户参考手册RM0440中可以看到:

需要通过把nSWBOOT0位设置为0来选择使用软件BOOT0而不是使用PB8-BOOT0来作为BOOT0的设置项,接下来把nBOOT0位设置为0就可以达到和使用PB8-BOOT0下拉到地一样的启动效果。

另外需要注意的地方是用户参考手册RM0440的这个位置:

以及

以上是涉及到软件设置BOOT0的一些相关寄存器及说明,接下来说怎么设置。

有三个办法可以实现把BOOT0设置为软件BOOT0,这样PB8-BOOT0引脚就可以当作通用GPIO或者IIC或者其他用途来使用了。

1、在程序中对Option Byte选项字的相关位进行编程,设置BOOT0为软件BOOT0,我看到HAL库中有相关操作,但是操作起来比较麻烦。

2、使用STM32CubeProgrammer来操作,这个软件可以通过STLINK\UART\USB\OTA来连接目标板来实现修改的功能。

3、使用STM32 ST-LINK Utility来操作,这个只能通过STLINK来连接目标板,连接上之后,点击Target,然后点击Option Bytes之后,按照下图修改即可实现目的:


————————————————
版权声明:本文为CSDN博主「小马哥电子开发学习」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mzw72188552/article/details/103589207

此帖出自stm32/stm8论坛
 
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 

回复

9795

帖子

24

TA的资源

版主

板凳
 

图片没有复制过来,需的可以点底部的原文链接查看。

此帖出自stm32/stm8论坛

点评

我就是看到这个文档受到的启发,设置是按照文档的图进行的设置。  详情 回复 发表于 2022-11-29 13:02
 
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 

回复

2942

帖子

4

TA的资源

五彩晶圆(中级)

4
 
littleshrimp 发表于 2022-11-28 19:31 图片没有复制过来,需的可以点底部的原文链接查看。

我就是看到这个文档受到的启发,设置是按照文档的图进行的设置。

此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表