蓝桥杯嵌入式学习准备
联系方式
作者:马一飞
QQ:791729359(微信同号) 在学习过程中有什么问题可以联系
资料下载链接:https://pan.baidu.com/s/1ZgLpWLBWma0EAHLmOX4DQA 密码:bwqa
(如果资料已过期的话,可以加我wx私发)
本人参加了2018年第九届蓝桥杯嵌入式设计与开发的比赛,并拿到了国二,总的来说呢,我觉得蓝桥杯这个其实算是一个比较简单的比赛了。只要大家努力的去备赛,相信每一个人至少都能够拿到省一并进入国赛。接下来我写的文章就是记录,我蓝桥杯学习的方法、以及我自己写的代码,希望对接下来想参加蓝桥杯的朋友能够有所启发,加油!!!
在学习蓝桥杯嵌入式方向之前,理所应当的需要前期的准备工作了。首先肯定要介绍一下蓝桥杯这个比赛了,总的来说呢,蓝桥杯这个比赛并不是一个特别难的比赛,所以大家只要好好去学习,用心去琢磨,都一定能进入国赛争取去北京的资格。我也会给大家提供我所写的代码以及方法告诉大家,当然,我所写的不一定是最好的方法,如果大家有更好的方法,欢迎跟我进一步讨论。
蓝桥杯嵌入式里,用的开发板的主控芯片是stm32f103rbt6,那么这一款芯片也是属于ST公司里面一款比较常用,而且性价比比较高的一款芯片,芯片采用的架构是Cortex-M3,属于ARM这家公司下的一个基于微控制器的一个架构。
我们平常在学校里学习的单片机是51单片机,或者是STC15系列的单片机,这类单片机采用的架构是8051架构,这个架构从出生到现在已经几十年的时间,属于一个比较老的架构了,因此你看到的51单片机,它所拥有的外设资源是非常少且运算速度慢(例如stc89c52晶振一般为12MHZ,且12分频)。这里说的并不是说学习51单片机的用处不大,而是说,大家早点转入ARM架构里学习,是非常好的,其实学到后面,你就会发现,ARM架构的功能,比起51架构要好很多,当你熟练了之后,甚至会感觉到ARM架构的配置比51单片机还要简单。
Stm32f103的主频最高可以达到72MHZ,这一点是需要大家背下来的。
同时还有很重要的一点,我希望大家在学习蓝桥杯嵌入式之前,可以先看一下正点原子的stm32****前面的部分,不需要看太多,但需要知道什么是stm32,什么是ARM,Cortex-M3到底是个什么东西。看的内容大概只需要看下面这个就差不多了。有些觉得不是重点的内容可以快进着看也没问题。(具体的视频下载地址大家可以百度搜索:开源电子网,并在里面查找视频,或者上正点原子的淘宝店,在正点原子开发板的简介那里找****网址,正点原子的教学视频完全是开源免费的,下载不需要花一分钱,在开源电子网里面都可以免费下载)
当我们知道了什么是ARM,什么是Cortex-M3,什么是stm32f103的时候,就可以开始进入蓝桥杯嵌入式的学习了。
蓝桥杯嵌入式的板子是如左图这样子的,上面用到的模块1块LCD显示屏,4个独立按键,1个蜂鸣器,1个at24c02(EEPROM)模块,8个LED,1个电位器。
大概用到的资源就是这些,还有其他的资源,例如读卡器,RX232接口,都是用不到的。板子上的资源也就这么一点点,因此大家只需要掌握这些东西,蓝桥杯基本就稳了。
接下来,我们就来搭建开发环境了,在蓝桥杯嵌入式的比赛中,我们使用的是MDK4,那么我们再平时练习的时候使用MDK5,其实使用起来是差不多的,MDK5的功能比MDK4强一些,并且还有提示功能(不建议太依赖这个功能,因为keil4里没有这个功能,比赛时候无法使用)。
虽然编写stm32程序与编写51单片机的程序用的都是Keil软件,但是这个Keil软件是不同的,编写51用的是Keil-C51,编写stm32用的是Keil-ARM(也就是我们称的MDK)。
这里,我提供给大家一个Keil的安装包,在安装前,先把你们电脑上编写51单片机程序的Keil彻底删除,安装完我提供的这个Keil安装包之后,你既可以在里面编写51的代码,也可以编写stm32的代码,甚至可以编写其他ARM系列单片机的代码非常方便。打开Keil_5这个文件夹,我们会看到有以下的软件。
上面4个应用程序前面都有标好1234,我们按照这个标好的顺序安装文件(记住,四个安装包安装的路径必须一样,重点!!!)例如我安装的,全部安装在D盘的keil_5文件夹下。安装完之后,会看到桌面有一个Keil4和一个keil5,大家随便打开其中一个,其实无论你打开哪个,出来的都是keil5(记得按右键使用管理员模式打开)。然后进行**,**的过程相信不用我说了,大家用过Keil软件的应该都知道,但是需要注意的一点是,我们需要**两次,一次是**C51的,一次是**ARM的,也就是要在**机上获取两个***。
那么在**成功之后你会看到有两个信息,一个是MDK-ARM,一个是PK51。 有效期至2020年,那么这个就提醒大家要在2020年之前把51单片机和stm32都得学好啊,不然你就要给钱买软件了,hhhhh!!! 那么这些都是题外话了。
到了这一步之后,就代表你**已经成功了,你可以使用这个keil软件,编写51代码或者编写stm32代码了。
同时,我还会提供给大家其他的文件资料。
扩展板数据包我们先不用管,我们以后再去看,我们现在关注的呢是另外的两个文件夹。
官网范例程序里面包含着官网提供的这个开发板对应的各个模块的范例,大家可以参考官网的程序来学习也是可以的,但是官网的程序有些写的并不是太好。
嵌入式设计与开发项目加密资料这个文件夹里面,提供的文件,就是你在蓝桥杯考场上所能见到的文件(重点!!!)。所以,这个文件夹里面有什么东西,大家是需要完全清楚的,这意味着,你在赛场上面,有什么资源是可以利用的。
这个文件夹里面提供了iic参考程序,stm32固件库,串口调试助手,coolink驱动,芯片数据手册,液晶驱动参考例程,以及蓝桥杯嵌入式开发板的电路图。
在蓝桥杯的比赛前,我们要先打开液晶驱动参考例程,把液晶驱动参考例程的程序直接烧录到开发板里面,检测是否能够正常烧录,开发板是否有损坏,如果出现烧录不了的情况,赶紧叫工作人员帮你换电脑,一分钟都不要耽搁。一定要确定电脑里的软件,以及板子能够正常烧录,没有任何问题,再进行比赛,否则你做的一切都是毫无意义的。(重点!!!)
那么我们再下一讲再来讲讲液晶驱动参考例程里面有什么,并且是如何烧录的。
(以上仅属于个人观点)