蓝桥杯嵌入式开发经验分享(1.嵌入式学习准备)

蓝桥杯嵌入式开发经验分享(1.嵌入式学习准备)蓝桥杯嵌入式学习准备联系方式作者:马一飞QQ:791729359…

大家好,又见面了,我是你们的朋友全栈君。

                                                                                          蓝桥杯嵌入式学习准备

 

联系方式

作者:马一飞

QQ:791729359                                                                                                               

 

            本人参加了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到底是个什么东西。看的内容大概只需要看下面这个就差不多了。有些觉得不是重点的内容可以快进着看也没问题。(具体的视频下载地址大家可以百度搜索:开源电子网,并在里面查找视频,或者上正点原子的淘宝店,在正点原子开发板的简介那里找视频教程网址,正点原子的教学视频完全是开源免费的,下载不需要花一分钱,在开源电子网里面都可以免费下载

                                                      蓝桥杯嵌入式开发经验分享(1.嵌入式学习准备)

              当我们知道了什么是ARM,什么是Cortex-M3,什么是stm32f103的时候,就可以开始进入蓝桥杯嵌入式的学习了。 

                                                                                  蓝桥杯嵌入式开发经验分享(1.嵌入式学习准备)

         蓝桥杯嵌入式的板子是如左图这样子的,上面用到的模块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这个文件夹,我们会看到有以下的软件。

                                蓝桥杯嵌入式开发经验分享(1.嵌入式学习准备)

            上面4个应用程序前面都有标好1234,我们按照这个标好的顺序安装文件(记住,四个安装包安装的路径必须一样,重点!!!)例如我安装的,全部安装在D盘的keil_5文件夹下。蓝桥杯嵌入式开发经验分享(1.嵌入式学习准备)安装完之后,会看到桌面有一个Keil4和一个keil5,大家随便打开其中一个,其实无论你打开哪个,出来的都是keil5(记得按右键使用管理员模式打开)。然后进行破解,破解的过程相信不用我说了,大家用过Keil软件的应该都知道,但是需要注意的一点是,我们需要破解两次,一次是破解C51的,一次是破解ARM的,也就是要在破解机上获取两个序列号。

                                                        蓝桥杯嵌入式开发经验分享(1.嵌入式学习准备)

           那么在破解成功之后你会看到有两个信息,一个是MDK-ARM,一个是PK51。 有效期至2020年,那么这个就提醒大家要在2020年之前把51单片机和stm32都得学好啊,不然你就要给钱买软件了,hhhhh!!! 那么这些都是题外话了。

           到了这一步之后,就代表你破解已经成功了,你可以使用这个keil软件,编写51代码或者编写stm32代码了。

           同时,我还会提供给大家其他的文件资料。

           蓝桥杯嵌入式开发经验分享(1.嵌入式学习准备)扩展板数据包我们先不用管,我们以后再去看,我们现在关注的呢是另外的两个文件夹。

            官网范例程序里面包含着官网提供的这个开发板对应的各个模块的范例,大家可以参考官网的程序来学习也是可以的,但是官网的程序有些写的并不是太好。

            嵌入式设计与开发项目加密资料这个文件夹里面,提供的文件,就是你在蓝桥杯考场上所能见到的文件(重点!!!)。所以,这个文件夹里面有什么东西,大家是需要完全清楚的,这意味着,你在赛场上面,有什么资源是可以利用的。

蓝桥杯嵌入式开发经验分享(1.嵌入式学习准备)这个文件夹里面提供了iic参考程序,stm32固件库,串口调试助手,coolink驱动,芯片数据手册,液晶驱动参考例程,以及蓝桥杯嵌入式开发板的电路图。

              在蓝桥杯的比赛前,我们要先打开液晶驱动参考例程,把液晶驱动参考例程的程序直接烧录到开发板里面,检测是否能够正常烧录,开发板是否有损坏,如果出现烧录不了的情况,赶紧叫工作人员帮你换电脑,一分钟都不要耽搁。一定要确定电脑里的软件,以及板子能够正常烧录,没有任何问题,再进行比赛,否则你做的一切都是毫无意义的。(重点!!!)

              那么我们再下一讲再来讲讲液晶驱动参考例程里面有什么,并且是如何烧录的。

 

                                                                                                                                                                                     (以上仅属于个人观点)

                                                 蓝桥杯嵌入式开发经验分享(1.嵌入式学习准备)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131081.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • go语言环境搭建_如何搭建语言培训平台

    go语言环境搭建_如何搭建语言培训平台因为项目的原因,要用到go语言,所以自学了一下。要想学习一门语言,首先必须搭建 语言的环境,go也一样,我这边是采用源码安装的。1. 下载安装包,如果觉得翻墙麻烦,可以直接在Golang中国社区下载安装包 http://www.golangtc.com/download2.假设我们在包解压到 /home/work/dev/package/go目录下, 

    2022年10月12日
    3
  • 【深度学习入门】——亲手实现图像卷积操作[通俗易懂]

    【深度学习入门】——亲手实现图像卷积操作[通俗易懂]深度学习中有一个很重要的概念就是卷积神经网络CNN,卷积神经网络中又有卷积层、池化层的概念。尤其是卷积层,理解难度比较大,虽然书中或者是视频中都有详细介绍过它的基础概念,但对于求知欲望很强烈的我,我总心里痒痒的,总想亲手实现,看看效果,怕的就是自己会眼高手低,做技术人最可怕的就是眼高手低。所以,我打算用python来亲自验证一遍。什么是卷积?卷积(convolution)是数学知…

    2022年5月8日
    75
  • RSA算法简述

    RSA算法简述52tangzongb+TR/9sbreGJhbKT5U5rQCTUebfRngB0uhNMnvMClf0f/IpPTsM5+7zWJyT9drzVKzV4oR0J8lyMSWepKvv3BR/3Ab6vC8dmo7NDbzuDtLaDLYhYG+bggQNVvuA5C3TolntxdL4+mGZwfd86WoznJM+Y5TO/0C5MSxvaAMTMZuga7yyBKTH4Wl+7GFHDDZqAXmvPHW/Dz0i45vlToz/+E/RnznY5dBhkw3nnNoNsJIutAUDm4T18J

    2022年6月18日
    35
  • Android–SQLite数据库实现增删改查

    Android–SQLite数据库实现增删改查SQLite–轻量级数据库一般常见于安卓客户端。用于存储一些重要数据,因其操作容易、使用简单的好处博得一大批迷妹。今天就来说一说sqlite一些简单的使用方法。一步一步开始做吧,我先创建个项目,主要是使用sqlite的代码。首先,我需要在项目初次运行时创建数据库并新建一张user表,用来存储username和password两个字段;…

    2022年6月26日
    27
  • Xshell安装docker「建议收藏」

    Xshell安装docker「建议收藏」docker基本组成镜像(image):docker镜像好比一个模板,可以通过这个模板创建容器服务,例如:tomcat镜像===>run===>tomcat01容器(提供服务器)通过这个镜像可以创建多个容器(最终服务或项目在容器中运行)容器(container):docker利用容器技术,独立运行一个或一组应用,通过镜像来创建。启动、停止、删除基本命令目前就可以把这个容器理解为就是一个简易的linux系统仓库(repository):存放镜像的地方,类似maven中央仓库仓库

    2025年10月11日
    6
  • js原生拖拽的两种方法

    js原生拖拽的两种方法一.mousedown、mousemove和mouseup 拖着目标元素在页面任意位置如果要设置物体拖拽,那么必须使用三个事件,并且这三个事件的使用顺序不能颠倒。1.onmousedown:鼠标按下事件2.onmousemove:鼠标移动事件3.onmouseup:鼠标抬起事件重点:1、一定要绝对定位,脱离文档流才可以移动。2、绑定拖拽的元素,移动和鼠标松开后是对docu…

    2022年6月26日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号