lol比赛下注平台

发 帖  
原厂入驻New

[经验] 嵌入式系统的核心器件:STM32G071开发事项

2019-12-6 09:39:31  2853 STM32 MCU
分享
2
每一个工程师最不愿意的见到的是:为 MCU 选型而烦恼。
MCU 作为嵌入式系统的核心器件,其选型可以说是重中之重,成本、性能、开发难易.......


ST 推出的新一代入门级利器 STM32G0 就是为了打破成本、性能、开发难易这个不可能三角!


接下来让我们来数数G0为你的新项目省下来的各种费用。


最让人激动的是,不但省下了这么多外围器件成本,而且G0本身的价格媲美同等配置的F0!



那么,在设计应用中,有没有需要特别避过的坑?



小马哥,资深蝶粉,在G0开发中,被PD0,PD2引脚使用困扰,让我们一起复盘小马哥踩过的坑和他的解决之道。
STM32G071  PD0 PD2引脚使用注意事项
【背景】STM32G071的PD0,PD2作为外部中断使用,外部接10K上拉电阻拉到3.3V。外部设备被触发后电平为低电平,正常无信号。
【问题】在以上背景下,按道理外部设备正常时(未触发中断),IO口输入电平应该是3.3V。但是实际上测量到的是0.9V,这和触发后的0V,都被单片机识别为低电平,故无法触发中断。
【分析解决】查阅STM32G0数据手册可知:


这个引脚的电平为FT_c,我们知道FT是容忍5V,那么FT_c是什么意思?再看说明:


然后去用户手册查看GPIO相关说明,找到以下内容:


基本上了解状况了,然后看一下相关寄存器说明:


具体说明:


由以上说明,大致可以判断如何操作:在初始化IO的时候,顺便把SYSCFG registers的 UCPD2_STROBE位设置一下就 OK 了。
HAL库操作:
HAL_SYSCFG_StrobeDBattpinsConfig(SYSCFG_CFGR1_UCPD2_STROBE);
LL库操作:
MODIFY_REG(SYSCFG->CFGR1, (SYSCFG_CFGR1_UCPD1_STROBE |SYSCFG_CFGR1_UCPD2_STROBE), SYSCFG_CFGR1_UCPD2_STROBE);
请再注意,其实PA8和PA15也是这样的,如果我们不需要这个下拉电阻,需要按照上面的操作一下。
那么为什么 STM32G071 有这样的设置呢?看下面IO功能即可知道,这几个引脚其实是:

[td]
PD0UCPD2_CC1
PD1UCPD2_CC2
PA8UCPD1_CC1
PB15UCPD1_CC2



也就是TYPE-C充电管理的相关引脚,所以会有这样的设置,关于TYPE-C相关知识,可以自行百度了解详情。

相关经验

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

发经验
关闭

站长推荐 上一条 /6 下一条

快速回复 返回顶部 返回列表