大家好,我是华维

今天我们讲下用STM32CubeMX和Keil5点亮一个LED,这个项目比较简单,大家都可以尝试下。

stm32单片机的基本结构 原来STM32单片机的开发如此的简单(1)

这个就是我们今天的主角,这款单片机芯片是STM32F030K6T6。

stm32单片机的基本结构 原来STM32单片机的开发如此的简单(2)

这个开发板非常简单,里面的芯片是STM32 F030 K6 T6,它有32个引脚,在它旁边这个一个八兆的晶振,然后晶振左边是电源芯片,可以把5伏电压转换成3.3伏电压给单片机供电。开发板右侧有一个按键reset按键,旁边是下载口。

为什么用这个芯片呢?因为这个芯片它非常便宜啊!在网上买的价钱才几块钱,这整块开发板下来才十多块钱包邮,对于一些刚刚开始学单片机的童鞋来说它的功能够用,重点它很便宜哈哈哈。

stm32单片机的基本结构 原来STM32单片机的开发如此的简单(3)

废话不多说,开始实操吧!

stm32单片机的基本结构 原来STM32单片机的开发如此的简单(4)

第一步

我们首先打开CubeMX,然后输入芯片的型号STM32F030K6T6,可以看到封装LQFP32,然后32K的flash,4K的RAM,25个IO口,最高工作频率可以达到48兆。

stm32单片机的基本结构 原来STM32单片机的开发如此的简单(5)

第二步

打开操作界面,先把芯片的串行下载口打开。选中Debug serial wire之后,我们可以看到时钟和IO这两个针脚已经显示绿了也就是生效状态,这样就可以往里面下载程序。

stm32单片机的基本结构 原来STM32单片机的开发如此的简单(6)

第三步

把要控制的led对应的io口状态配置成输出状态,选择GPIO output。

stm32单片机的基本结构 原来STM32单片机的开发如此的简单(7)

第四步

配置时钟,晶振暂时就不用了,直接用内部的RC振荡器就好,频率选4x9,它的频率就是36M。(用RC呢,最高就是36M)

stm32单片机的基本结构 原来STM32单片机的开发如此的简单(8)

第五步

打开midi文件找到main函数,HAL库初始化,系统时钟配置,GPIO初始化,然后看到while(1),我们的程序就写在这。

我们知道要想让led闪烁起来,必须让他对应的IO口先置低电平,然后再置高电平这样无限的循环下去灯就会闪烁起来。

stm32单片机的基本结构 原来STM32单片机的开发如此的简单(9)

第六步

先用HAl库函数来先写第一句,置PB7低电平,然后来一个延时500毫秒。置高电平就把上面的程序拷贝下来,把reset改成set就可以了。

stm32单片机的基本结构 原来STM32单片机的开发如此的简单(10)

第七步

然后我们再设置一下编译参数,输出这项用户信息可以去掉,不然的化编译太慢。

stm32单片机的基本结构 原来STM32单片机的开发如此的简单(11)

第八步

然后下载选项里边我们选上Reset and Run,至于其他的选项就不用管它了。

第九步

开始编译程序,编译完成0错误,0警告,这就代表程序已经编译好了。

第十步

就要把编译好的程序下载到单片机里边,然后把数据线插上,把这个下载器插到usb接口里链接电脑之后就可以看到led已经亮起来了。

但是因为里面没有程序呢,所以这个灯是不受控的,他只是简单地亮起来。

第十一步

把我们刚写好的程序下载到单片机里,点击程序的Load按钮直至下载完成。程序已经下载成功之后我们会发现单片机上的灯已经一闪一闪的亮起来了,亮0.5秒,灭0.5秒。

总结

在这1个小项目里面我们学到了几条的HAL库函数语句。分别是给端口置高低电平、延时语句,还有端口电平反转语句。

怎么样,看了这期干货之后,是不是觉得STM32单片机的开发特别简单呢?心动不如行动,你也赶紧试一试吧。

遇到任何问题,找我华维为你解答一切疑难杂症

文字:华维

回复“入门资料”获取单片机入门到高级进阶教程

stm32单片机的基本结构 原来STM32单片机的开发如此的简单(12)

stm32单片机的基本结构 原来STM32单片机的开发如此的简单(13)

,