STM32F042开发板学习实践
之前有粗略地学习过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开发板学习实践的更多相关文章
- Nvidia Jetson TX2开发板学习历程(1)- 详细开箱、上电过程
考试周已经结束了,开发板也已经到了.希望借着这个假期能够好好的利用这块开发板学习Linux系统以及Tensorflow的相关知识. 我打算将学习历程通过博客的方式写出来,作为自己的笔记,也可以供以后拿 ...
- 【转帖】4412ARM开发板学习笔记(一)
本文转自迅为论坛:http://www.topeetboard.com 新手在进行开发学习前,建议先看01-迅为电子开发板入门视频.对开发板和开发环境有一定的了解后,不要盲目接线开机.以下是个人的一点 ...
- AM335X开发板学习系列——环境搭建(vbox虚拟机ubuntu14.04下minicom的安装和配置)
这个系列是我学习AM335X的总结. 1. ubuntu虚拟机的USB设备,选择启用usbserial 2. ubuntu虚拟机的网络,采用桥接模式,以保证开发板和ubuntu虚拟机能互相ping通 ...
- DE2-115开发板学习(1_时钟信号引脚分配与复位信号的产生)
1.DE2-115开发板资源 Altera EPCS64 Configuration Device 64MB SDRAM (两片) 50MHz Oscillator EP4CE115F29C7(4PL ...
- 【4412嵌入式开发板学习笔记】认识uboot
转自迅为讨论群:http://www.topeetboard.com 重要说明:这份笔记不是4412开发配套的,是我在网上看视频的时候下载上课老师的笔记后修改的.所以我试了一下笔记上的uboot命令, ...
- CC2540开发板学习笔记(五)——串口通信
(一)串口发送 一.实验现象: 开发板实现功能发送 二.实验过程 1.PL2303 USB转串口电路图 2.串口发送 (1)查看用户手册有: UART0 对应的外部设备 IO 引脚关系为: P0_2 ...
- CC2540开发板学习笔记(三)——外部中断
一.实验内容 通过外部中断方式依次按下按键S1控制LED1的亮灭 二.实验过程 1.电路原理图同上 2.中断的概念 比如说我们在执行main函数时,突然来了个指令.优先级比现在执行的main还高,那我 ...
- CC2540开发板学习笔记(二)——按键
一.实验内容 用按键S1控制LED1的亮和灭 二.实验过程 1.电路原理: 可以看出,当S按下P0.0和P0.1接地,反之则接高电压. 2.寄存器使用: 依旧应该首先进行3个基本寄存器的设定,对LED ...
- ZedBoard开发板学习记录(一)之开发环境的搭建(Ubuntu16.04)以及运行HelloWorld程序的测试
ZedBoard开发板由PL和PS两大部分组成, 对PS操作,一般有两个办法: (1).在Windows系统上面,使用SDK新建C Project SDK自带编译环境,编译后自动产生elf文件.使用U ...
随机推荐
- C#中的结构体要使用new来实例化吗?
声明结构的默认(无参数)构造函数是错误的.总是提供默认构造函数以将结构成员初始化为它们的默认值.在结构中初始化实例字段也是错误的. 如果使用 new 运算符创建结构对象,则会创建该结构对象,并调用适当 ...
- codeforces986F Oppa Funcan Style Remastered【线性筛+最短路】
容易看出是用质因数凑n 首先01个因数的情况可以特判,2个的情况就是ap1+bp2=n,b=n/p2(mod p1),这里的b是最小的特解,求出来看bp2<=n则有解,否则无解 然后剩下的情况最 ...
- 洛谷P3645 [APIO2015]雅加达的摩天楼(最短路+分块)
传送门 这最短路的建图怎么和网络流一样玄学…… 一个最朴素的想法是从每一个点向它能到达的所有点连边,边权为跳的次数,然后跑最短路(然而边数是$O(n^2)$除非自创复杂度比spfa和dijkstra还 ...
- K-th Number
区间第K大 题目链接 #include <stdio.h> #include <algorithm> #include <vector> #include < ...
- python进阶04 装饰器、描述器、常用内置装饰器
python进阶04 装饰器.描述器.常用内置装饰器 一.装饰器 作用:能够给现有的函数增加功能 如何给一个现有的函数增加执行计数的功能 首先用类来添加新功能 def fun(): #首先我们定义一个 ...
- 中间件注册可以除了可以使用Startup之外,还可以选择StartupFilter
中间件注册可以除了可以使用Startup之外,还可以选择StartupFilter 中间件的注册除了可以借助Startup对象(DelegateStartup或者ConventionBasedStar ...
- exportExcel()方法注意事项
1.保证数据集里的字段和SQL语句里字段全部一致,包括sql语句里必须有系统字段 2.exportExcel()执行的时候,是先去执行SQL语句,再去到数据集里面进行不对,若有不一致的地方,则报列名无 ...
- DNS学习
DNS (Domain Name System 的缩写)域名系统,万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过域名 ...
- PHP正则表达式 - 附录(常用正则表达式)
常用正则表达式附录I 平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用: "^\d+$" //非负整数(正整数 + 0) "^[0-9]*[1- ...
- ASPX1
表单提交 <!--表单:收集用户的数据.---> <form method="post" action="AddInfo.ashx"> ...