我手上有一块stm32f103vet6的核心板,用来学习一下stm32f1的基本外设,先来看一下我手上板子的原理图,LED接的是芯片的PB0,KEY1接的是PE6。想要灯亮,芯片输出一个低电平即可,我这按键比较简单,没有进行硬件消抖,软件设置时需要进行软件消抖。按键按下时PE6为低电平是按下,常态下要的配置要配置成上拉输入,接下来就是新建工程。
打开STM32CubeMX后新建工程,打开后选择芯片型号
选择好后,进入rcc中选择时钟,一般都是使用外部高速时钟,
在sys中,选择,默认情况下CubeMx是没有打开,如果打开程序只能进行烧入一次,第二次不能烧入,那个SW口一直被占用,吃过亏,wuwuwu,就得把boot0拉高,然后在拉低,在复位才能烧程序。
GPIO的设置
接下来进行时钟的配置,板子接了8M的晶振,配置如下
配置完后,生成代码
编写逻辑代码,在while(1)中实现,我自己实现的是,按键按下灯亮,松开灯灭。