手头有一块G031discover kit 的板子,是有点精简了,周末测试一下疑问。主CPU只有8个引脚,开始想,这几个引脚挂个晶振,做个复位,连一个外部下载SWD,加电源引脚,正好用完。原理图如图1所示。 图1 从原理图中可以看出,很多个GPIO是共用一个IO口的,疑问一就有了,这些引脚是像外设那样复用呢还是在设计芯片的时候仅把引脚进行了连接?翻了一下datasheet,只有外设复用,没有说明引脚共用问题。这个问题就只能自己试试了。 找个电阻,发光二极管接个引脚,更换不同的引脚看一下效果,就是通过简单的点灯来验证猜想。如图2所示。 通过验证,猜想是对的,GPIO是通过内部连线共同连接到IO上,使用哪个引脚看自己所需要用到该GPIO的什么复用功能了。这一点其实STM32Cube配置中已经有表示了。 第二个问题,连接SWD下载引脚该怎么用,是否需要像F系列那样复用。Datasheet上没有写,如图3所示。还是得经过自己测试。将LED等换到8脚上,不复用直接当GPIO口使。仿真的时候8脚J_JTCK脚是高电平,灯光闪烁不明显,结束仿真就正常了。说明SWD引脚可以直接用于GPIO口。 第三个问题,板子上的按键连接到NRST引脚,却标注为USER Button,而且也能当GPIO使,没有接高电平,这样对于复位是不是有影响? 我想就像图二标注的那样直接在该引脚上上拉一个高电平,测试一下用于中断Button,是否会造成复位不稳定。部分代码如下所示:
测试结果就是个USERButton。 通过再度datasheet8引脚的IC虽然身材小,功能还是挺丰富的,要充分利用Cube。抛砖引玉,下次用到项目上再总结。 2 l' Q8 o2 t+ f$ ^/ O1 o |
图2
STM32固件库分享,超全系列整理
STM32G030F6P6基于HAL库模拟SPI驱动1.8寸TFT LCD屏幕
STM32的CAN FD位定时设置注意事项
基于STM32将移植 SBSFU 到 STM32G070过程分享
基于STM32G030 RAM不够用经验分享
STM32G070在OLED上移植U8G2单色GUI
【经验分享】STM32 IAP+Ymodem功能实现(参考官方代码)
【经验分享】STM32的SPI问题
【经验分享】STM32 的加密实现
STM32G070—使用platformio+arduino