之前有粗略地学习过stm32F103的理论知识,但仅GPIO的配置、时钟配置就让人望而却步。现在手头有Nucleo STM32F042的开发板,而且ST已经推出STM32CubeMx图形化的工具软件,便于图形化配置硬件自动生成初始化代码,无论于熟手还是初学者都是个福音,因此可趁着便利条件逐步学习STM系列单片机的编程以及记录下学习的实践过程。

以下是基于keil点亮LED的实践,其实开发板到手时,芯片已经有烧写程序,装好驱动,接上USB线LED灯就能闪亮了,另外还可以通过云端mbed开发程序,这又是一大变革,与时俱进。

首先创建工程之前安装三个软件:Keil uVision 5,STM32CubeMX 4.15, STM32 ST-Link Utility,期间还要一些驱动软件。

           

创建项目工程

启动STM32CubeMx,点击蓝色“NewProject”,就手中的开发板芯片类型选择配置

接下来查看原理图的LED灯所在的线路,通过MB1180.pdf文件可以找到LED对应的GPIO口

完成上一个对话框,就可以进入管脚、时钟等的配置,点击相应的管脚就会弹出管脚模式选择的对话框,图中选作输出模式

点击“Clock Configuration”可以配置时钟,这里没有作特殊配置,就作默认选择,其他选项卡也不作特殊配置。

点击Configuration选项卡

最后点击Apply ,OK就配置完成。

点击图标栏图标生成项目

弹出的对话框,按英文提示填入必要信息以及选择keil相应的开发环境

完成项目创建后,弹出

点击“Open Project”,打开uVision 5 开发环境,打开Main.c 主程序

打开main.c 可以看到STM32CubeMx自动生成的初始化代码,在GPIO的初始化代码里找到LED所对应的GPIO初始化代码,复制红色框部分

粘贴在如下位置,并修改、添加如下代码

保存并调试,生成HEX文件。

下载烧写目标文件

用USB线连接开发板,电脑任务栏会弹出类似U盘的识别符号,打开ST-LINK Utility ,点击Target->connect,成功连接开发板后,右上角和左下角都会显示开发板信息

点击Target->erase chip,擦除芯片中原有的程序,点击确定。

点击File->Open File,打开keil中生成的hex文件

点击Target->Program &verify 烧写程序,弹出对话框,点击start

烧写完成后,LED绿色灯就可以闪了

STM32F042开发板学习实践的更多相关文章

  1. Nvidia Jetson TX2开发板学习历程(1)- 详细开箱、上电过程

    考试周已经结束了,开发板也已经到了.希望借着这个假期能够好好的利用这块开发板学习Linux系统以及Tensorflow的相关知识. 我打算将学习历程通过博客的方式写出来,作为自己的笔记,也可以供以后拿 ...

  2. 【转帖】4412ARM开发板学习笔记(一)

    本文转自迅为论坛:http://www.topeetboard.com 新手在进行开发学习前,建议先看01-迅为电子开发板入门视频.对开发板和开发环境有一定的了解后,不要盲目接线开机.以下是个人的一点 ...

  3. AM335X开发板学习系列——环境搭建(vbox虚拟机ubuntu14.04下minicom的安装和配置)

    这个系列是我学习AM335X的总结. 1. ubuntu虚拟机的USB设备,选择启用usbserial 2. ubuntu虚拟机的网络,采用桥接模式,以保证开发板和ubuntu虚拟机能互相ping通 ...

  4. DE2-115开发板学习(1_时钟信号引脚分配与复位信号的产生)

    1.DE2-115开发板资源 Altera EPCS64 Configuration Device 64MB SDRAM (两片) 50MHz Oscillator EP4CE115F29C7(4PL ...

  5. 【4412嵌入式开发板学习笔记】认识uboot

    转自迅为讨论群:http://www.topeetboard.com 重要说明:这份笔记不是4412开发配套的,是我在网上看视频的时候下载上课老师的笔记后修改的.所以我试了一下笔记上的uboot命令, ...

  6. CC2540开发板学习笔记(五)——串口通信

    (一)串口发送 一.实验现象: 开发板实现功能发送 二.实验过程 1.PL2303 USB转串口电路图 2.串口发送 (1)查看用户手册有: UART0 对应的外部设备 IO 引脚关系为: P0_2 ...

  7. CC2540开发板学习笔记(三)——外部中断

    一.实验内容 通过外部中断方式依次按下按键S1控制LED1的亮灭 二.实验过程 1.电路原理图同上 2.中断的概念 比如说我们在执行main函数时,突然来了个指令.优先级比现在执行的main还高,那我 ...

  8. CC2540开发板学习笔记(二)——按键

    一.实验内容 用按键S1控制LED1的亮和灭 二.实验过程 1.电路原理: 可以看出,当S按下P0.0和P0.1接地,反之则接高电压. 2.寄存器使用: 依旧应该首先进行3个基本寄存器的设定,对LED ...

  9. ZedBoard开发板学习记录(一)之开发环境的搭建(Ubuntu16.04)以及运行HelloWorld程序的测试

    ZedBoard开发板由PL和PS两大部分组成, 对PS操作,一般有两个办法: (1).在Windows系统上面,使用SDK新建C Project SDK自带编译环境,编译后自动产生elf文件.使用U ...

随机推荐

  1. 计算机视觉(CV)前沿国际国内期刊与会议

    计算机视觉(CV)前沿国际国内期刊与会议1.国际会议 2.国际期刊 3.国内期刊 4.神经网络 5.CV 6.数字图象 7.教育资源,大学 8.常见问题 1. 国际会议现在,国际上计算机视觉方面的三大 ...

  2. 【转】insert忽略重复、mysql插入操作跳过、插入覆盖覆盖、mysql更新重复

    需求背景:一般情况,插入数据的时候,有脏数据的情况,主键重复的话,直接insert into 会报错的,然后下面的sql都不再执行了,如果可以确定后面的数据可以覆盖前面的数据,直接用replace i ...

  3. 理解JavaScript中的深拷贝和浅拷贝

    , num2 = num1;console.log(num1) //1console.log(num2) //1num2 = 2; //修改num2console.log(num1) //1conso ...

  4. 单例设计模式singleton

    简单引入 单例设计模式作为最简单,最常用的设计模式.一般是这两中写法,这两种写法教科书所谓的标准写法,但是实际上存在不少问题.后面介绍标准写法,以规避这些问题. 1.懒汉式: /** * 问题在于,当 ...

  5. 服务是如何加载并运行的, Kestrel、配置与环境

    服务是如何加载并运行的, Kestrel.配置与环境 "跨平台"后的ASP.Net Core是如何接收并处理请求的呢? 它的运行和处理机制和之前有什么不同? 本章从"宏观 ...

  6. 爬虫(ProxyHandler)——代理

    工具:python3 步骤: 1)使用ProxyHandler()构建httpproxy_handler对象 2)使用build_opener(httpproxy_handler)构建opener 3 ...

  7. scrapy 一些设置和问题

    scrapy设置ua池 设置后在setting启用 DOWNLOADER_MIDDLEWARES = { 'laogou.middlewares.LaogouDownloaderMiddleware' ...

  8. swjtu oj Paint Box 第二类斯特林数

    http://swjtuoj.cn/problem/2382/ 题目的难点在于,用k种颜色,去染n个盒子,并且一定要用完这k种颜色,并且相邻的格子不能有相同的颜色, 打了个表发现,这个数是s(n, k ...

  9. openstack修改增加网卡及更改ip

        1.neutron更改及mysql数据库更改网卡及ip:     neutron port-update ae22c84b-22a9-4618-b046-1eb61379bcea  --all ...

  10. 低版本Firefox支持innerText属性兼容方法

    FireFox支持innerText属性了,很遗憾是44.0.2版本以下还需要兼容处理. 方法一: innerHTML是符合W3C标准的属性,而innerText只适用于IE浏览器,因此,尽可能地去使 ...