STM32CubeMX和Keil5点亮一个LED
大家好!我是一哥
STM32CubeMX 介绍
STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,通过自己对硬件的需要,进行选择,而后可以快速生成代码,减少开发人员的开发难度,时间和花销。STM32 覆盖整个STM32系列。
在我看来有如下优点:
·大量的芯片(资源,价格介绍),方便对我们进行芯片选型
·除了拥有芯片本身的外设选择外,还拥有一系列的中间件,如 RTOS, USB, TCP/IP等
·对芯片的整体资源,以及时钟树有更深刻的认识
·快速代码生成(对外设进行初始化),方便我们对我们的想法进行验证与开发
·工程也可以进行更新(当增加外设时)
今天我们讲下用STM32CubeMX和Keil5点亮一个LED,这个项目比较简单,大家都可以尝试下。
这个就是我们今天的主角,这款单片机芯片是STM32F030K6T6。
这个开发板非常简略,里面的芯片是STM32 F030 K6 T6,它有32个引脚,在它旁边这个一个八兆的晶振,然后晶振左边是电源芯片,能够把5伏电压转换成3.3伏电压给单片机供电。开发板右侧有一个按键reset按键,旁边是下载口。
为什么用这个芯片呢?由于这个芯片它非常便宜啊!在网上买的价钱才几块钱,这整块开发板下来才十多块钱包邮,对于一些刚刚初始学单片机的童鞋来说它的功能够用,重点它很便宜哈哈。
废话不多说,开始实操吧!
///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程和毕业设计指导,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像白色字体加我也能领取哦,记得回复一哥///
我们首先打开CubeMX,然后输入芯片的型号STM32F030K6T6,可以看到封装LQFP32,然后32K的flash,4K的RAM,25个IO口,最高工作频率可以达到48兆。
打开操作界面,先把芯片的串行下载口打开。选中Debug serial wire之后,我们可以看到时钟和IO这两个针脚已经显示绿了也就是生效状态,这样就可以往里面下载程序。
把要控制的led对应的io口状态配置成输出状态,选择GPIO output。
配置时钟,晶振暂时就不用了,直接用内部的RC振荡器就好,频率选4×9,它的频率就是36M。(用RC呢,最高就是36M)
打开midi文件找到main函数,HAL库初始化,系统时钟配置,GPIO初始化,然后看到while(1),我们的程序就写在这。
我们知道要想让led闪烁起来,必须让他对应的IO口先置低电平,然后再置高电平这样无限的循环下去灯就会闪烁起来。
先用HAl库函数来先写第一句,置PB7低电平,然后来一个延时500毫秒。置高电平就把上面的程序拷贝下来,把reset改成set就可以了。
然后我们再设置一下编译参数,输出这项用户信息可以去掉,不然的化编译太慢。
然后下载选项里边我们选上Reset and Run,至于其他的选项就不用管它了。
初始编译程序,编译完成0错误,0警告,这就代表程序已经编译好了。
就要把编译好的程序下载到单片机里边,然后把数据线插上,把这个下载器插到usb接口里链接电脑之后就能够看到led已经亮起来了。
但是由于里面没有程序呢,所以这个灯是不受控的,他只是简略地亮起来。
把我们刚写好的程序下载到单片机里,点击程序的Load按钮直至下载完成。程序已经下载成功之后我们会发现单片机上的灯已经一闪一闪的亮起来了,亮0.5秒,灭0.5秒。
在这1个小项目里面我们学到了几条的HAL库函数语句。分别是给端口置高低电平、延时语句,还有端口电平反转语句。
怎么样,看了这期干货之后,是不是觉得STM32单片机的开发特别简略呢?心动不如行动,你也赶紧试一试吧。
想要学习单片机的朋友 ,做毕业设计的同学,关注我们,回复一哥,与导师一起学习成长,共同进步,还有更多资料领取。
说了这么多,大家记得留意下方评论第一条(或者私信我)有干货~
-END-
*本文系网络转载,版权归原作者所有,如有侵权请联系删除