之前有粗略地学习过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. Linux运用一些常用命令

    今天搜集整理了一些Linux服务器运维常用命令,希望对大家有帮助:1.删除0字节文件 find -type f -size 0 -exec rm -rf {} 2.查看进程按内存从大到小排列 ps - ...

  2. 洛谷P2257 YY的GCD(莫比乌斯反演)

    传送门 原来……莫比乌斯反演是这么用的啊……(虽然仍然不是很明白) 首先,题目所求如下$$\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)=prim]$$ 我们设$f(d)$表示$g ...

  3. jconsole 本地连接失败

    http://limaoyuan.iteye.com/blog/1541745 加jvm 启动参数即可: -Dcom.sun.management.jmxremote  -Dcom.sun.manag ...

  4. day9函数作业详解

    1.day9题目 1,整理函数相关知识点,写博客. 2,写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. 3,写函数,判断用户传入的对象(字符串.列表.元组 ...

  5. IDEA | 创建启动SpringBoot项目命令

    clean package spring-boot:run -Dmaven.test.skip=true

  6. CC22:检查是否为BST

    题目 请实现一个函数,检查一棵二叉树是否为二叉查找树. 给定树的根结点指针TreeNode* root,请返回一个bool,代表该树是否为二叉查找树. 解法 二叉排序树有个特点是,结点通过中序遍历出来 ...

  7. api接口测试工具和接口文档管理工具

    api接口测试工具和接口文档管理工具 1.postman(https://www.getpostman.com) Postman 是一个很强大的 API调试.Http请求的工具.她可是允许用户发送任何 ...

  8. Mysql和oracle字段类型与java对象类型对应表收藏

    https://blog.csdn.net/michaelzhou224/article/details/16827029 Mysql Oracle Java BIGINT NUMBER(19,0) ...

  9. Net Core2.0 基于QuartzNet任务管理系统

    Net Core2.0 基于QuartzNet任务管理系统 Quartz.NET官网地址:https://www.quartz-scheduler.net/ Quartz.NET文档地址:https: ...

  10. Spark Mllib里的Mllib基本数据类型(图文详解)

    不多说,直接上干货! Spark Mllib基本数据类型,根据不同的作用和应用场景,分为四种不同的类型 1.Local  vector : 本地向量集,主要向spark提供一组可进行操作的数据集合 2 ...