官方STM32的NUCLEO开发板使用

发布者:中和子最新更新时间:2019-08-06 来源: eefocus关键字:官方  STM32  NUCLEO开发板 手机看文章 扫描二维码
随时随地手机看文章

概述:因工作需求,先买了stm32的NUCLEO开发板做测试板,本人使用的是L073RZ这块板子,也是第一次接触stm32,摸索状态。这里记录一下使用过程,做笔记的同时希望也可以对别人有点帮助。


1,准备


既然要使用这块板子,那么对这块板子我们肯定是需要基本了解一下的,怎么测试,如何测试,供电问题,调试问题我们都需要看看官方文档。


这里贴一个NUCLEO开发板手册下载地址http://www.stmcu.org/document/detail/index/id-214946.里面详细的说了开发板的功能,如何使用,原理图等,有不懂的不明白的查查这手册。


在手册的5.1节,就说了如何开始使用。我把原文贴下,顺便简单翻译一下,本人英语垃圾,只是表达下意思,不对的还请指正,还有本核心板已经集成ST-LINK/V2-1:


Follow the sequence below to configure the STM32 Nucleo board and launch the demo 

software:(按照下面的步骤配置STM32 NUCLEO核心板并启动演示软件)


Check the jumper position on the board, JP1 off, JP5 (PWR) on U5V, JP6 on (IDD), 

CN2 on (NUCLEO) selected.(检差板子上跳线帽位置,JP1不接跳线帽,JP5跳线帽接U5V插针,JP6接跳线帽,CN2接跳线帽用于t调试选择NUCLEO板子)

For correct identification of all device interfaces from the host PC, install the Nucleo 

USB driver available from the www.st.com/stm32nucleo webpage, prior to connecting 

the board.(在连接板子之前,为了主机PC能识别设备所有接口,需安装Nucleo USB驱动,可从www.st.com/stm32nucleo 获取)

Connect the STM32 Nucleo board to a PC with a USB cable ‘Type-A to Mini-B’ through 

USB connector CN1 to power the board. The red LED LD3 (PWR) and LD1 (COM) 

should light up. LD1 (COM) and green LED LD2 should blink.(将STM32核板连接到带有USB线缆的PC上,即A到mini B。 USB连接器CN1为板供电。红色LED LD3 (PWR)和LD1 (COM) 应该点亮。LD1 (COM)和绿色LED LD2应该闪烁)

Press button B1 (left button).(按下B1键(左键))

Observe the blinking frequency of the three LEDs LD1 to LD3, by clicking on the button 

B1.(通过点击按键 B1,观察三个led LD1到LD3的闪烁频率)

The demonstration software and several software examples on how to use the STM32 

Nucleo board features are available at the www.st.com/stm32nucleo webpage.(演示软件和几个关于如何使用STM32 NUCLEO核心板的软件示例可在www.st.com/stm32nucleo网页上找到)

Develop the application using the available examples.(使用可用示例开发应用程序)

2,开始使用


准备完毕,我们就要开始按步骤开始使用调试。


第一步,检查跳线帽,略过了。


第二步,安装ST-LINK/V2-1驱动


1,官网下载驱动相关软件,驱动地址.页面如下所示,选择对应版本下载,同时记得下载一下STSW-LINK007软件包,这个是用于ST-LINK/V2-1固件更新的。 


这里写图片描述

2,我下载的驱动是STSW-LINK009,解压后以管理员身份运行stlink_winusb_install.bat文件,安装好驱动。


第三步,供电并查看驱动是否可用


我们将USB的mini口接上板子,另一端接到电脑,这时我们可以在设备管理器查看,我们应该可以看到下图所示的界面,一个ST-LINK Debug的串行控制总线和一个COM口。同时我们也看到绿色的LED灯闪烁。


这里写图片描述


第四步,按B1键并观察LED灯闪烁频率


发现绿色LED闪烁频率变化。


第五步,官网下载示例程序并下载到板子测试运行(默认你已经配置安装好keil5)


1,官方示例包下载地址:示例包地址,选择对应系列即可,我的事L0就下载的STM32CubeL0的软件包。


2,对应芯片keil5 pack包下载地址:地址,选择对应芯片系列下载即可,然后安装即可。


3,使用usart测试示例.


(1)解压我们下载的STM32CubeL0的软件包,使用keil5打开对应板子的UART程序。我打开的程序路 径是:


STM32Cube_FW_L0_V1.10.0ProjectsSTM32L073RZ-NucleoExamplesUARTUART_TwoBoards_ComPollingMDK-ARM.

1

(2)修改源码,我们如果看手册的话,可以知道usb集成的串口是USART2,而我源代码里面是使用的USART1,这样我们串口输出不能用已经集成的串口输出了,所以我改了一下main.h的宏定义,改后如下:


/* Definition for USARTx clock resources */

#define USARTx                           USART2

#define USARTx_CLK_ENABLE()              __HAL_RCC_USART2_CLK_ENABLE()

#define USARTx_RX_GPIO_CLK_ENABLE()      __HAL_RCC_GPIOA_CLK_ENABLE()

#define USARTx_TX_GPIO_CLK_ENABLE()      __HAL_RCC_GPIOA_CLK_ENABLE()


#define USARTx_FORCE_RESET()             __HAL_RCC_USART2_FORCE_RESET()

#define USARTx_RELEASE_RESET()           __HAL_RCC_USART2_RELEASE_RESET()


/* Definition for USARTx Pins */

#define USARTx_TX_PIN                    GPIO_PIN_2

#define USARTx_TX_GPIO_PORT              GPIOA

#define USARTx_TX_AF                     GPIO_AF4_USART2

#define USARTx_RX_PIN                    GPIO_PIN_3

#define USARTx_RX_GPIO_PORT              GPIOA

#define USARTx_RX_AF                     GPIO_AF4_USART2


(3)使用keil5编译软件,设置Device为对应的芯片,设置Debug选项为ST-LINK,下载程序到板子,下载成功后我们打开调试助手,选择我们对应的串口打开,设置9600波特率,按板子复位键,再按B1键,就可以看到收到了设备的信息如下所示(这里主要是keil5软件下载调试部分,就不祥说了):


这里写图片描述


第六步,使用示例程序开发


这就根据自己需要,去玩喽。。。


3,使用总结


整体来说,官方的板子用起来还是挺方便的,我一个没用过STM32的使用cubeMX 加 keil5可以很快的写一个小程序出来并使用。之前主要做是嵌入式linux,使用HAL库非常方便快捷,不用关心底层,速度较快。


关键字:官方  STM32  NUCLEO开发板 引用地址:官方STM32的NUCLEO开发板使用

上一篇:STM32F042开发板学习实践
下一篇:STM32的串口配置代码

推荐阅读最新更新时间:2024-11-13 12:42

stm32之keil开发环境搭建
本篇内含工程建立以及JLINK设置,内容借鉴了前人经验,在此感谢各位前人的贡献。 1 下载stm32F10x的官方库 http://www.st.com/web/en/catalog/tools/PF257890 2 新建工程 工程名设为stm32_demo,选择芯片型号为STM32F103B,如图, 因为下载的stm32库中有启动代码,所以这里选择 否 ,不拷贝启动代码。 在工程文件下,新建Startup 、Headers、User、Libraries、CMSIS、Lists、Output文件夹。 文件夹 用途 Startup 启动文件,Flash在16~32Kb小容量,64~128Kb中
[单片机]
<font color='red'>stm32</font>之keil开发环境搭建
stm32不小心把SWD和JTAG都给关了,程序下载不进去,解决办法
我们有时候会碰到各种问题导致STM32或者STM8的程序突然就下载不进去板子了。可以按照以下步骤来解决。 一、下载方法步骤: 1、将板子供电全部断开,这里包括3.3V电源供电和JLINK等所有能给开发板供上电的设备全断开。 2、找到BOOT0引脚,将BOOT0拉高。   方法:在板子上找一个高电平引脚,手动用导线将BOOT0连接到该引脚上即可。   (注意:我的STM32板子供电是3.3V的,所以我找了一个3.3V的引脚,用导线连接到了BOOT0上,千万别弄错了,电平接高了不小心可是要烧坏板子的!) 3、BOOT0拉高以后,保持这个姿势不要动,打开电源,重新给板子上电。 4、插上JLink或者STLink,下载程序。一般这次肯
[单片机]
STM32-嵌入式学习笔记02-中断应用概述
本节目标: 通过DMA,无需中断,接收不定时长的串口数据 描述: 当在串口多数据传输下,CPU会产生多次中断来接收串口数据,这样会大大地降低CPU效率,同时又需要CPU去做其它更重要的事情,我们应该如何来优化? 比如四轴飞行器,当在不停地获取姿态控制方向时,又要去接收串口数据. 答:使用DMA,无需CPU中断便能实现接收串口数据 1.DMA介绍 DMA,全称为: Direct Memory Access,即直接存储器访问, DMA 传输方式无需 CPU 直接 控制传输,通过硬件为 RAM 与 I/O 设备开辟一条直接传送数据的通路,能使 CPU 的效率大为提高。 2在main()中调用串口配置函数,初始化串口后,然后使能U
[单片机]
STM32-嵌入式学习笔记02-中断应用概述
stm32之DMA数据传输
  从字面意思上看,DMA即为“直接内存读取”的意思,换句话说DMA就是用来传输数据的,它也属于一个外设。只是在传输数据时,无需占用CPU。   DMA请求   某个外设在通过DMA传输数据前,必须先给DMA控制器发送请求,控制器会返回一个应答信号给外设,外设应答后并且DMA控制器收到外设应答信号后,便会启动DMA传输。这个过程类似于TCP的“三次握手”。   DMA有DMA1和DMA2两个控制器,每个控制器都有不同的通道,每个通道对应不同的外设请求。如图12-1为DMA1的通道请求、图12-2为DMA2的通道请求。 图12-1 图12-2   如以上两图所示,DMA1有7个通道,DMA2有5个通道,每个通
[单片机]
<font color='red'>stm32</font>之DMA数据传输
STM32测量频率和占空比的几种方法
由于我们当时的题目除了测量频率之外,更麻烦的是测量占空比。而这两个的测量方法联系比较紧密,所以也一并把测量占空比的方法写出来。 使用平台:官方STM32F429DISCOVERY开发板,180MHz的主频,定时器频率90MHz。 相关题目: (1)测量脉冲信号频率f_O,频率范围为10Hz~2MHz,测量误差的绝对值不大于0.1%。(15分) (2)测量脉冲信号占空比D,测量范围为10%~90%,测量误差的绝对值不大于2%。(15分) 思路一:外部中断 思路:这种方法是很容易想到的,而且对几乎所有MCU都适用(连51都可以)。方法也很简单,声明一个计数变量TIM_cnt,每次一个上升沿/下降沿就进入一次中断,对TIM_cn
[单片机]
用<font color='red'>STM32</font>测量频率和占空比的几种方法
STM32与有源蜂鸣器
有源蜂鸣器的声音是固定的,工作电压恒定,改变通断电的时间获得不同时长的音响,譬如连续音、快速短音、慢速长音(类似莫尔斯电报)来区分不同的报警信息。 简单的说,有源蜂鸣器只能发出一种声音,因为它的频率是固定的。只能根据响声的不同间隔长短来区分。 例如,闹钟是:滴滴~滴滴~滴滴~。 有源只要通电就响了,我们只要控制好通电的时间就好。 #include mbed.h PwmOut PWM1(PB_13); int main() { while(1) { PWM1 = 1;//响 wait(0.1);//响0.1s PWM1 = 0;//不响 wait(0.1);//不响0.1s PWM1 = 1;//再响
[单片机]
吐槽51与STM32
接触STM32之后,有种相见恨晚的强烈感觉。51在属于他的那个年代,不可否认他在嵌入式领域的丰功伟绩。但今天,这里的战场不属于51,。要不是因为伟大的中国教育机构总能 跟上时代的步伐 ,51真应该出现在博物馆。 如果你用过51,我保证你只要你和STM32擦肩而过,你会深深爱上这家伙,一发不可收拾,真的。 硬件。 速度上。51与STM32的区别就是牛拉车与法拉利的区别,这个说得够明显了,你懂的。51来个12M就算是一种奢侈了,代码量稍稍大一点,就来不起,让你不得优化这里优化哪里;说真的,51这家伙总喜欢给工程师们绕裹脚。STM32,知道有多HAPPY,动不动就是72M、100M,代码跑的如此开心、如此欢
[单片机]
分享STM32 FLASH 擦除(以及防止误擦除程序代码)、写入
编译环境:我用的是(Keil)MDK4.7.2 stm32库版本:我用的是3.5.0 一、本文不对FLASH的基础知识做详细的介绍,不懂得地方请查阅有关资料。   对STM32 内部FLASH进行编程操作,需要遵循以下流程:   FLASH解锁   清除相关标志位   擦除FLASH(先擦除后写入的原因是为了工业上制作方便,即物理实现方便)   写入FLASH   锁定FLASH 实例: #define FLASH_PAGE_SIZE ((uint16_t)0x400) //如果一页为1K大小 #define WRITE_START_ADDR ((uint32_t)0x08008000)//写入的起始地址 #define W
[单片机]
分享<font color='red'>STM32</font> FLASH 擦除(以及防止误擦除程序代码)、写入
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved