“XNUCLEO-F103RB”的版本间的差异

来自Waveshare Wiki
跳转至: 导航搜索
(替换文字 - 「 {|style="width:auto" | {|class="at-c" style="table-layout:fixed;border-radius:100px;width:100%;border:2px solid #{{{bordercolor}}}" |- |class="bg-Joinus roundy-100 hide" style="table-layout:fixed;border-radius:100px;padding:10px;width:1)
 
(未显示3个用户的27个中间版本)
第1行: 第1行:
 +
<div class="wiki-pages blue-color">
 +
<div class="tabberlive  newwsnav" id="wsnavbar">
 +
<ul class="tabbernav">
 +
<li class="nav-link">[[#myintro|说明]]</li>
 +
<li class="nav-link">[[#myresources|资料]]</li>
 +
<li class="nav-link">[[#myfaq|FAQ]]</li>
 +
<li class="nav-link">[[#mysupport|售后]]</li>
 +
</ul>
 +
</div>
 
<div class="tabber">
 
<div class="tabber">
<!--<div class="tabbertab" title="说明"></div>-->
 
<div class="tabbertab" title="资料">
 
 
{{开发板|colorscheme=blue
 
{{开发板|colorscheme=blue
 
|name = XNUCLEO-F103RB
 
|name = XNUCLEO-F103RB
|img=<div class="tabber">
+
|img=<div class="tabberlive  newwsnav" id="wsnavbar">
<div class="tabbertab" title="标准版">[[File:XNUCLEO-F103RB.JPG|360px|alt=XNUCLEO-F103RB|link=http://{{SERVERNAME}}/shop/XNUCLEO-F103RB.htm | XNUCLEO-F103RB]]</div>
+
<ul class="tabbernav">
<div class="tabbertab" title="套餐A">[[File:XNUCLEO-F103RB-Package-A.jpg|360px|alt=XNUCLEO-F103RB (套餐A)|link=http://{{SERVERNAME}}/shop/XNUCLEO-F103RB-Package-A.htm | XNUCLEO-F103RB (套餐A)]]</div>
+
<li class="nav-link">[[#myintro|说明]]</li>
<div class="tabbertab" title="套餐B">[[File:XNUCLEO-F103RB-Package-B.jpg|360px|alt=XNUCLEO-F103RB (套餐B)|link=http://{{SERVERNAME}}/shop/XNUCLEO-F103RB-Package-B.htm | XNUCLEO-F103RB (套餐B)]]</div>
+
<li class="nav-link">[[#myresources|资料]]</li>
 +
<li class="nav-link">[[#myfaq|FAQ]]</li>
 +
<li class="nav-link">[[#mysupport|售后]]</li>
 +
</ul>
 +
</div>
 +
<div class="tabber">
 +
<div class="tabbertab" title="标准版">[[File:XNUCLEO-F103RB.JPG|360px|alt=XNUCLEO-F103RB|nolink=https://{{SERVERNAME}}/shop/XNUCLEO-F103RB.htm | XNUCLEO-F103RB]]</div>
 +
<div class="tabbertab" title="套餐A">[[File:XNUCLEO-F103RB-Package-A.jpg|360px|alt=XNUCLEO-F103RB (套餐A)|nolink=https://{{SERVERNAME}}/shop/XNUCLEO-F103RB-Package-A.htm | XNUCLEO-F103RB (套餐A)]]</div>
 +
<div class="tabbertab" title="套餐B">[[File:XNUCLEO-F103RB-Package-B.jpg|360px|alt=XNUCLEO-F103RB (套餐B)|nolink=https://{{SERVERNAME}}/shop/XNUCLEO-F103RB-Package-B.htm | XNUCLEO-F103RB (套餐B)]]</div>
 
</div>
 
</div>
 
|category1=NUCLEO
 
|category1=NUCLEO
第20行: 第35行:
 
|interface5 = USB
 
|interface5 = USB
 
|interface6 = USB TO UART
 
|interface6 = USB TO UART
|Product1=[http://{{SERVERNAME}}/shop/NUCLEO-F103RB.htm NUCLEO-F103RB]
+
|Product1=[https://{{SERVERNAME}}/shop/NUCLEO-F103RB.htm NUCLEO-F103RB]
 
|Modules1 = Accessory Shield
 
|Modules1 = Accessory Shield
 
|Modules2 = Analog Test Shield
 
|Modules2 = Analog Test Shield
第30行: 第45行:
 
|Modules8 = ST-LINK/V2 (mini)
 
|Modules8 = ST-LINK/V2 (mini)
 
}}
 
}}
 +
<div class="tabbertab" title="说明" id="myintro">
 +
 +
<h1>说明</h1>
 +
 +
==产品概述==
 +
STM32 Xnucleo 开发平台为用户提供了一个经济、灵活和便捷的方式去实现更具创意的设想。并能通过选择执行性能、电源功耗和资源特性等多种组合快速搭建原型。
 +
得益于通用的Arduino™和ST Morpho接口的支持,本产品可以搭配众多的Shield,便于用户在开源平台上使用多种扩展。
 +
STM32 Xnucleo 兼容并能直接运行STM32 Nucleo 官方提供STM32综合HAL库和各种包装好的实验例子,并且可以直接兼容Nucleo的多种Shield。用户可在mbed.org直接访问STM32 Nucleo相关的在线资源。
 +
==产品特性==
 +
*使用LQFP64封装的STM32单片机;
 +
*两种可扩展资源:
 +
-      Arduino Uno Revision 3通用连接头;
 +
- STMicroelectronics Morpho 扩展连接头以访问所用的STM32的IO端口;
 +
*支持mbed;
 +
*引出SWD接口,支持更多的下载/调试方式,如:ST-LINK/V2 (MINI) , J-LINK-ARM, ULINK V2;
 +
*灵活的电源选择:
 +
- USB 电源;
 +
- 外部输入电源VIN(6V<=VIN<=12V)来自Arduino和ST Morpho connector连接头,也可以通过CN2电源接头(6V~12V)输入;
 +
- 外部5V电源(E5V)来自ST Morpho connector连接头;
 +
- 外部+3.3V电源来自Arduino或ST Morpho connector连接头;
 +
*7颗LEDs:
 +
- 电源指示灯PWR,FLASH LED,串口接收指示灯RX和发送指示灯TX;
 +
*两个按键:
 +
- 分别为复位按键(RESET)和用户按键(USER);
 +
*外部高速晶体振荡器:
 +
- 8MHz 晶体振荡器;
 +
*外部低速晶体振荡器
 +
- 32.768KHz 晶体振荡器;
 +
*USB转虚拟串口;
 +
*USB接口(XNUCLEO-F030R8没有USB接口)
 +
*ICSP接口(兼容Arduino LEONARDO的shields),作为SPI接口使用;
 +
*综合HAL库和多个实验例子
 +
*支持广泛的集成开发环境(IDEs),包括IAR,基于GCC的IDEs;
 +
==产品型号==
 +
{|border=2; style="width:700px;"         
 +
|-style="background:#ddf; color:black;" align="center"     
 +
|colspan=2|表1. Xnucleo系列信息
 +
|-style="background:#66f; color:white;" align="center" 
 +
|型号||目标MCU
 +
|-align="center"
 +
|XNUCLEO-F030R8 ||STM32F030R8T6
 +
|-align="center"
 +
|XNUCLEO-F103RB ||STM32F103RBT6
 +
|-align="center"
 +
|XNUCLEO-F302R8 ||STM32F302R8T6
 +
|-align="center"
 +
|XNUCLEO-F401RE ||STM32F401RET6
 +
|-align="center"
 +
|XNUCLEO-F411RE ||STM32F411RET6
 +
|}
 +
XNUCLEO-FXXXRY含义如下:<br />
 +
*FXXX为STM32 MCU产品线
 +
*R为管脚数(R意味着有64个管脚)
 +
*Y为FLASH容量(8为64K,B为128K,C为256K)
 +
==快速入门==
 +
===安装开发工具===
 +
====CP2102虚拟串口驱动的安装====
 +
STM32 Xnucleo 板载了基于CP2102的USB TO UART接口(下文简称为串口),方便用户调试代码。用户需要安装CP2102驱动程序才能正常工作。<br />
 +
运行安装程序:. \Xnucleo \tools\CP2102 driver\PreInstaller.exe<br />
 +
安装完成后,将XNucleo的USB TO UART接口连接到电脑上,可在“设备管理器”中查看到设备CP210x USB to UART Bridge Controller,则说明驱动安装成功。<br />
 +
====STM32 ST-LINK UTILITY 的安装====
 +
运行安装程序:.\Xnucleo user\tools\STM32 ST-LINK Utility\STM32 ST-LINK Utility_v3.4.0.exe。(具体安装和使用方法,请参考ST官方的说明文档:.\Xnucleo user\tools\STM32 ST-LINK Utility\Readme\STLINK Utility.PDF。用户也可以到ST官方下载最新的安装程序。)<br />
 +
安装完成后,将ST-LINK/V2 (mini)模块连接到电脑上,可在“设备管理器”中查看到设备STMicroelectronics STLink dongle,则说明驱动安装成功。<br />
 +
====J-LINK驱动的安装====
 +
运行安装程序:. \Xnucleo user\tools\JLinkARM\Setup_JLinkARM_V415e.exe。<br />
 +
安装完成后,将J-Link仿真器连接到电脑上,可在“设备管理器”中查看到设备J-Link driver,则说明驱动安装成功。<br />
 +
===启动出厂程序===
 +
按照以下顺序配置STM32 Xnucleo,并且启动演示例程:<br />
 +
====硬件设置====
 +
=====1) 设置板载跳线=====
 +
*JP3 选择 U5V
 +
*JP2 置为 ON
 +
=====2) 接入电源=====
 +
*使用USB电源时,连接Xnucleo板载USB到PC。
 +
*使用外部电源时,连接Xnucleo电源座CN2到6~12V电源适配器。
 +
3) 连接ST-LINK/V2 (mini)到Xnucleo的SWD接口<br />
 +
<font color="red">注意:如果先连接ST-LINK/V2 (mini)到SWD接口,再连接USB电源或外部电源,可能会导致ST-LINK/V2 (mini)初始化失败。</font>
 +
====查看程序现象====
 +
每按一次USER按键,USER LED的闪烁频率由从快切换到慢,或者由慢切换到快。<br />
 +
===硬件配置
 +
====供电设置====
 +
STM32 Xnucleo 可以通过USB供电,也可以用过外部电源供电。<br />
 +
可由以下位置供电:<br />
 +
*位于CN6 或者CN7 的VIN (6V~12V)
 +
*E5V (5V) 或者 +3V3电源引脚
 +
*CN2电源接头(7V~12V)
 +
其中VIN (7V~12V),E5V (5V),+3V3和CN2是通过使用一个外部的电源设备对Xnucleo进行供电。<br />
 +
====USB电源输入====
 +
Xnucleo的所有部分以及Shield,在接上ST-LINK/V2 (MINI)之后,均可由ST-LINK/V2 (MINI)的USB接口,从PC主机获得供电。<br />
 +
如果用户使用ST-LINK/V2 (MINI)对Xnucleo供电的情况下:在ST-LINK/V2 (mini)对外输出3.3V时,则ST-LINK/V2 (mini)对应输出的最大电流为150mA。在ST-LINK/V2 (mini)对外输出5V时,则ST-LINK/V2 (mini)对应输出的最大电流为300mA。在这种情况下,只能强制使用外部电源,将在下一节介绍。<br />
 +
Xnucleo板载的所有器件和扩展板也可以使用自带的USB接口供电(U5V)。但应该注意,如果Xnucleo 需求超过300mA的电流,可能对USB有损害。当使用USB对Xnucleo供电时,必须通过JP3设置跳线选择U5V。如表 2. 电源相关跳线所示。<br />
 +
{|border=2; style="width:700px;"         
 +
|-style="background:#fdd; color:black;" align="center"     
 +
|colspan=2|表 2. 电源相关跳线
 +
|-style="background:#ddf; color:black;" align="center"   
 +
|跳线||描述
 +
|-align="center"
 +
|rowspan=2|JP3||当使用USB供电时,必须跳线选择U5V(默认设置)<br />[[File:XNUCLEO-F103RB-1.png|200px]]
 +
|-align="center"
 +
|当使用CN2,VIN或E5V必须跳线选择E5V<br />[[File:XNUCLEO-F103RB-2.png|200px]]
 +
|}
 +
====使用CN2,VIN或E5V作为外部电源====
 +
CN2,VIN或E5V可以被用作为外部电源以防Xnucleo和扩展板的负载电流超过USB允许电流。在使用时,必须先连接好外部电源,然后再连接USB或ST-LINK/V2 (mini)。这个过程确保Xnucleo正常工作。
 +
{|border=2; style="width:700px;"         
 +
|-style="background:#ddf; color:black;"  align="center"     
 +
|colspan=5|表 3. 外部电源参数
 +
|-style="background:#dfd; color:black;"  align="center"     
 +
|style="width:100px"|电源名||style="width:100px"|对应管脚|| 电压范围|| style="width:100px"|最大电流|| 使用限制
 +
|-align="center"
 +
|CN2||CN2||rowspan=2|6V~12V||rowspan=2|800mA||rowspan=2|输入电流与输入电压有关:<br />当CN2/VIN = 7V时,输入电流为800mA。<br/>当6V<CN2/VIN(<或=)9V时,<br/>输入电流为450mA
 +
当9V<CN2/VIN(<或=)12V时,<br/>输入电流为250mA
 +
|-align="center"
 +
|VIN ||CN6的8脚<br/>CN7的24脚
 +
|-align="center"
 +
|E5V ||CN7的6脚||4.75V~5.25V||500mA|| ------
 +
|}
 +
<font color="red">
 +
注意:当Xnucleo使用外部供电时,必须遵守以下步骤:</font><br />
 +
1) JP3选择U5V;<br />
 +
2) 连接外部电源到CN2,VIN或E5V;<br />
 +
3) 接通外部电源,CN2,VIN:6V~12V,E5V:5V;<br />
 +
4) 观察PWR LED为常亮;<br />
 +
5) 连接PC与Xnucleo USB或ST-LINK/V2 (mini);<br />
 +
如果不遵守以上步骤,而先接通USB或ST-LINK/V2 (mini)可能会出现如下问题:
 +
<font color="red>"当Xnucleo需求的电流超过300mA时,可能会对USB有损害。或者输入电流会被USB口限制在300mA以内,可能导致Xnucleo无法正常工作。</font>
 +
 +
====外部电源输出====
 +
*通过CN2,VIN或E5V对Xnucleo供+5V电压时,Xnucleo板载管脚CN6 的5 脚或CN7的18脚可对Arduino shield 和扩展板供电。在这种情况下,最大输入电流应该遵守表 3的说明。
 +
*通过CN2,VIN或E5V对Xnucleo供+3.3V电压时,CN6 的4 脚或CN7的12脚和16脚也可用作电源输出,最大输出电流被限制于稳压器的最大电流输出能力(最大500mA)。
 +
===LED指示灯===
 +
Xnucleo板载的LED用于指示Xnucleo 工作状态的信息。
 +
====FLASH LED====
 +
{|border=2; style="width:700px;"         
 +
|-style="background:#ddf; color:black;"      align="center"     
 +
|colspan=2|表 4. LED和MCU引脚对应关系
 +
|-style="background:#ddf; color:black;"      align="center"     
 +
|FLASH LED||MCU PIN
 +
|-align="center"
 +
|LED1||D13(PA5/PB13)
 +
|-align="center"
 +
|LED2||PC9
 +
|-align="center"
 +
|LED3||PC8
 +
|-align="center"
 +
|LED4||PC5
 +
|}
 +
通过设置JP7可连接各个LED。对于XNUCLEO-F302R8,其PB13脚需连接到D13。而对于其他XNUCLEO,则需要将PA5连接到D13。当IO输出高电平,FLASH LED常亮;反之,FLASH LED熄灭。<br />
 +
====电源指示灯PWR LED====
 +
该指示灯为红色。指示Xnucleo供电是否正常,+5V电源有效。
 +
====串口工作状态指示灯LED====
 +
TX指示灯为绿色,RX指示灯为蓝色。TX闪烁,指示MCU 正在向PC发送信息。RX闪烁,指示MCU 正在接收电脑返回信息。<br />
 +
===按键===
 +
====USER键====
 +
通过设置JP6为ON,USER按键连接到目标MCU的PC13脚。
 +
====RESET键====
 +
RESET键连接到目标MCU的NRST,用于复位目标MCU。
 +
===JP2(IDD)跳线===
 +
====JP2 ON====
 +
STM32单片机被供电(默认)。<br />
 +
====JP2 OFF====
 +
STM32单片机不被供电。移除该跳线之后,用户可以在该跳线两端的管脚之间串联一个电流表,用以测量STM32单片机的功耗。<br />
 +
===USART 通信===
 +
STM32单片机的PA2和PA3是USART2接口,可以通过设置相关的跳线选择和虚拟串口、Morpho或者Arduino连接头相连。<br />
 +
===设置跳线将目标MCU连接到串口===
 +
通过设置跳线(参考表 6. JP4引脚连接)<br />
 +
*JP4的RX/PA3和TXD连接
 +
*JP4的TX/PA2和RXD连接
 +
====设置跳线实现MCU与SHIELD或扩展板的通信====
 +
如果目标MCU需要和shield或扩展板(CN9的RX/D0和TX/D1)通信,则需要设置跳线(参考表 6. JP4引脚连接):<br />
 +
*JP4的RX/PA3和RX/D0连接
 +
*JP4的TX/PA2和TX/D1连接
 +
在这种情况下,可以连接另一个USART(视目标MCU而定)到虚拟串口,需要按照以下方式连接:<br />
 +
*JP4的TX/PC10/PC6连接RXD
 +
*JP4的RX/PC11/PC7连接TXD
 +
其中,NUCLEO-F030R8的连接方式:<br />
 +
*JP4的TX/PA9连接RXD
 +
*JP4的RX/PA10连接TXD
 +
<font color="red">
 +
注意:用户需根据实际需求,参考表 5. USART的相关引脚和跳线选择合适的USART,并做相应的硬件配置,该列表中的USART在mbed中无效,即mbed中没有定义该表中的USART,只定义了USART2(PA2,PA3),因此,使用mbed中与USART相关的API(如:printf)时,只能选择USART2(PA2,PA3)与虚拟串口或CN9的RX/D0,TX/D1连接。</font>
 +
{|border=2; style="width:700px;"         
 +
|-style="background:#ddf; color:black;"      align="center"     
 +
|colspan=6|表 5. USART的相关引脚和跳线
 +
|-style="background:#ddf; color:black;"      align="center"     
 +
|型号\引脚||PC6,PC7||PC10,PC11||PA9,PA10||SB70,SB71||SB72,SB73
 +
|-align="center"
 +
|XNUCLEOF030R8||无||无||USART1||colspan=2|无此项
 +
|-align="center"
 +
|XNUCLEOF103RB||无||USART3||USART1(未使用)||ON||OFF
 +
|-align="center"
 +
|XNUCLEO-F302R8||无||USART3||USART1(未使用)||ON||OFF
 +
|-align="center"
 +
|XNUCLEO-F401RE||USART6|| 无|| USART1(未使用)||OFF||ON
 +
|}
 +
<br />
 +
 +
{|border=2; style="width:700px;"         
 +
|-style="background:#ddffcc; color:black;"      align="center"     
 +
|colspan=4|表 6. JP4引脚连接表   
 +
|-style="background:#eeeeff; color:black;"      align="center"   
 +
|A|| B|| C|| D
 +
|-  align="center"
 +
|ARDUINO PORT|| MCU PIN||CP2102 PIN||MCU PIN
 +
|-  align="center"
 +
|RX/D0|| RX/PA3|| TXD||RX/PC11/PC7
 +
|-  align="center"
 +
|TX/D1||TX/PA2||RXD||TX/PC10/PC6
 +
|}
 +
<br />
 +
{|border=2; style="width:700px;"         
 +
|-style="background:#ddf; color:black;"      align="center"   
 +
|colspan=4|表 7. NUCLEO-F030R8 JP4引脚连接表
 +
|-style="background:yellow; color:black;"    align="center" 
 +
|A||B||C||D
 +
|-  align="center"
 +
|ARDUINO PORT||MCU PIN||CP2102 PIN||MCU PIN
 +
|-  align="center"
 +
|RX/D0||RX/PA3||TXD||RX/PA10
 +
|-  align="center"
 +
|TX/D1||TX/PA2||RXD||TX/PA9
 +
|}
 +
 +
===ADC或I2C通信===
 +
通过设置JP5的跳线可以选择ADC或I2C连接到Arduino或Morpho。<br />
 +
其中:<br />
 +
*JP5的A4和A5是对应连接到Arduino的A4和A5(CN8的5,6脚)或Morpho CN7的36,38脚
 +
*JP5的SDA/PB9和SCL/PB8脚对应STM32 MCU的外设I2C
 +
*JP5的PC1/ADC和PC0/ADC脚对应STM32 MCU的外设ADC
 +
{|border=2; style="width:700px;"         
 +
|-style="background:#ddf; color:black;"  align="center" 
 +
|colspan=3|表 8. JP5引脚连接表
 +
|-style="background:#0f0; color:purple;"  align="center" 
 +
|A|| B|| C       
 +
|-align="center"
 +
|MCU PIN||ARDUINO PORT|| MCU PIN
 +
|-align="center"
 +
|SCL/PB8||A5|| PC0/ADC
 +
|-align="center"
 +
|SDA/PB9||A4|| PC1/ADC
 +
|}
 +
 +
===SPI接口===
 +
Arduino的D11, D12, D13为SPI接口。其中XNUCLEO-F302R8的PB13,PB14,PB15分别和D13, D12, D11相连。其它XNUCLEO的PA5,PA6,PA7分别和D13, D12, D11相连。<br />
 +
===USB接口===
 +
除XNUCLEO-F030R8之外,其他XNUCLEO预留了一个USB接口。通过设置JP1为ON,可以使能USB接口。
 +
===锡桥===
 +
{|border=2; style="width:700px;"         
 +
|-style="background:#ddf; color:black;"  align="center" 
 +
|colspan=3|表 9. 锡桥
 +
|-style="background:#3f3; color:black;"  align="center" 
 +
|锡桥||状态||描述
 +
|- align="center" 
 +
|rowspan=2|SB74||ON||IOREF连接到3.3V
 +
|-align="center"
 +
|style="width:100px"|OFF||IOREF悬空
 +
|- align="center" 
 +
|rowspan=2|SB75|| ON|| IOREF连接到5V
 +
|-align="center" 
 +
|OFF||IOREF悬空
 +
|- align="center" 
 +
|rowspan=2|SB45 (VBAT/VLCD)||ON||STM32 单片机的VBAT 或 VLCD连接到VDD
 +
|- align="center" 
 +
|OFF||STM32 单片机的VBAT 或 VLCD不连接VDD
 +
|- align="center" 
 +
|rowspan=2|SB57 (VREF+)||ON||STM32 单片机的VREF+被连接到VDD
 +
|- align="center" 
 +
|OFF||STM32 单片机的VREF+不连接VDD,由CN10的7脚提供电源
 +
|}
 +
<font color="red">注:所有出现在STM32 Xnucleo 板上的其他锡桥都是用于配置一些IO和电源脚,以兼容支持的STM 32单片机的特性和引出脚。</font>
 +
 +
===扩展连接头===
 +
本节的图片用于说明不同型号的STM32 Xnucleo板载接口对应的外设分配。<br />
 +
{|- class="imgtable"
 +
|图 1. XNUCLEO-F030R8<br />
 +
[[File:XNUCLEO-F103RB-3.png|800px]]<br />
 +
 +
图 2. XNUCLEO-F103RB<br />
 +
[[File:XNUCLEO-F103RB-4.png|800px]]<br />
 +
 +
图 3. XNUCLEO-F302RC<br />
 +
[[File:XNUCLEO-F103RB-5.png|800px]] <br />
 +
 +
图 4. XNUCLEO-F401RE<br />
 +
[[File:XNUCLEO-F103RB-6.png|800px]] <br />
 +
 +
图 5. XNUCLEO-F411RE<br />
 +
[[File:XNUCLEO-F103RB-7.png|800px]] <br />
 +
|}
 +
 +
==3.MBED基于STM32 XNUCLEO平台的使用==
 +
Xnucleo完全兼容和并且可以直接运行对应Nucleo的示例程序。因此,用户可以根据STM32 Nucleo的应用来开发STM32 Xnucleo的应用。Xnucleo与Nucleo的对应关系下表所示:<br />
 +
{|border=2; style="width:700px;"         
 +
|-style="background:#abc; color:black;" align="center"     
 +
|colspan=2|表 10. Xnucleo与Nucleo的对应关系表
 +
|-style="background:#ddf; color:black;" align="center" 
 +
|Xnucleo||Nucleo
 +
|- align="center" 
 +
|XNUCLEO-F030R8||NUCLEO-F030R8
 +
|- align="center" 
 +
|XNUCLEO-F103RB ||NUCLEO-F103RB
 +
|- align="center" 
 +
|XNUCLEO-F302RC ||NUCLEO-F302R8
 +
|- align="center" 
 +
|XNUCLEO-F401RE ||NUCLEO-F401RE
 +
|- align="center" 
 +
|XNUCLEO-F411RE ||NUCLEO-F411RE
 +
|}<br/>
 +
本手册操作都是以XNUCLEO-F103RB为例。用户在配置环境的时候可能会有一些不同,应根据实际情况操作。<br />
 +
===使用MBED编译和下载工程 ===
 +
mbed的使用说明请参阅官方文档。由于篇幅所限,部分操作步骤可能略过。<br />
 +
====编译工程====
 +
打开mbed软件,以XNUCLEO-F103RB为例,任意打开一个工程,例如Nucleo_printf。点击Compile进行编译。如果工程没有任何错误,则等待Compile Output提示Success!,并且生成Nucleo_printf_NUCLEO_F103RB.bin的文件。这个文件位于指定的文件保存路径(这个路径可以更改)。<br />
 +
====下载工程====
 +
1) 运行STM32 ST-LINK Utility,依次点击file->Open file。打开Nucleo_printf_NUCLEO_F103RB.bin文件。<br />
 +
2) 将板载的USB TO UART接口连接到电脑的USB口,并且连接ST-LINK/V2 (mini),JP5选择U5V,根据2.5 USART 通信的要求设置JP4,并按照以下格式配置串口。<br />
 +
{|border=2; style="width:700px;"         
 +
|-style="background:#abc; color:black;" align="center"     
 +
|colspan=2|表 11. 串口配置
 +
|- align="center"
 +
|波特率|| 115200
 +
|- align="center"
 +
|数据位|| 8
 +
|-align="center"
 +
|停止位|| 1
 +
|-align="center"
 +
|奇偶校验||无
 +
|}<br />
 +
3) 下载工程之后,串口接收到的信息如下:<br />
 +
Hello World!
 +
This program runs since 1 seconds.
 +
This program runs since 2 seconds.
 +
This program runs since 3 seconds.
 +
This program runs since 4 seconds.
 +
This program runs since 5 seconds.
 +
...
 +
此时,USER LED以0.5Hz的频率闪烁,TX LED 闪烁提示STM32 Xnucleo正在向PC发送信息。<br />
 +
 +
==4. 外围模块例程说明==
 +
Xnucleo提供了一个基于Waveshare的I/O Expansion Shield、0.96寸OLED和舒适款传感器的综合演示例程。按照表 12. 传感器和与XNUCLEO的接线方式把传感器对应接到I/O Expansion Shield上。<br />
 +
===外围模块和与XNUCLEO的接线方式===
 +
{|border=2; style="width:700px;"         
 +
|-style="background:#abc; color:black;" align="center"   
 +
|colspan=7|表 12. 传感器和与XNUCLEO的接线方式<br />
 +
|-style="background:#cba; color:black;" align="center"   
 +
|传感器|| 引脚||XNUCLEO-F030R8||XNUCLEO-F103RB|| XNUCLEO-F302R8|| XNUCLEO-F401RE|| XNUCLEO-F411RE
 +
|-align="center" 
 +
|Temperature-Humidity Sensor||DOUT|| PB3/D3||PB3/D3||PB3/D3||PB3/D3||PB3/D3
 +
|-align="center"
 +
|rowspan=3|Rotation Sensor||SIA|| PB4/D5|| PB4/D5|| PB4/D5||PB4/D5||PB4/D5
 +
|-align="center"
 +
|SIB||PB5/D4|| PB5/D4|| PB5/D4|| PB5/D4||PB5/D4
 +
|-align="center"
 +
|SW ||PB10/D6||PB10/D6||PB10/D6||PB10/D6||PB10/D6
 +
|-align="center"
 +
|rowspan=6|Color Sensor||LED||3.3V||3.3V||3.3V||3.3V||3.3V
 +
|-align="center"
 +
|OUT||PC7/D9||PA1/A1||PA1/A||PA1/A1||PA1/A1
 +
|-align="center"
 +
|S3 ||PA9/D8||PA9/D8||PA9/D8|| PA9/D8|| PA9/D8
 +
|-align="center"
 +
|S2 ||PA8/D7 ||PA8/D7||PA8/D7|| PA8/D7|| PA8/D7
 +
|-align="center"
 +
|S1 ||NC||NC ||NC||NC|| NC
 +
|-align="center"
 +
|S0 ||NC ||NC ||NC ||NC ||NC
 +
|-align="center"
 +
|rowspan=2|UV Sensor<br />
 +
Water Sensor<br />
 +
Moisture Sensor<br />
 +
Tilt Sensor<br />
 +
Laser Sensor<br />
 +
Gas Sensor<br />
 +
Sound Sensor<br />
 +
Flame Sensor<br />
 +
Hall Sensor<br />
 +
Metal Sensor<br />Infrared Reflective Sensor
 +
||AOUT||PA4/A2||PA4/A2||PA4/A2||PA4/A2||PA4/A2
 +
|-align="center"
 +
|DOUT||PA10/D2||PA10/D2||PA10/D2||PA10/D2||PA10/D2
 +
|-align="center"
 +
|rowspan=5|0.96inch OLED||DIN||PA7/D11||PA7/D11||PB15/D11||PA7/D11||PA7/D11
 +
|-align="center"
 +
|CLK||PA5/D13 ||PA5/D13||PB13/D13||PA5/D13||PA5/D13
 +
|-align="center"
 +
|CS|| PB8/A5||PB8/A5||PB8/A5||PB8/A5|| PB8/A5
 +
|-align="center"
 +
|D/C||PB9/A4 ||PB9/A4||PB9/A4|| PB9/A4 ||PB9/A4
 +
|-align="center"
 +
|RES||PB0/A3|| PB0/A3|| PB0/A3|| PB0/A3|| PB0/A3
 +
|}
 +
注意:<br /><font color="red">
 +
*以上所有传感器的电源VCC和GND分别接在IO Expansion Shied的VCC和GND,具体的连接方法请参考IO Expansion Shied用户手册。
 +
*部分传感器只引出了AOUT或DOUT中的一个,那么IO Expansion Shied多出的预留引脚不用接。且每次只能接一个传感器。</font>
 +
 +
===4.2. 例程现象说明===
 +
XNUCLEO板载的LED1每2秒闪烁一次,指示程序正在运行。<br />
 +
====4.2.1. 数据显示方式:====
 +
该例程使用OLED和串口打印(串口每500 ms向PC打印信息)两种方式显示模块反馈的信息。例如:<br />
 +
<p align="center" >图 7. OLED显示传感器参数<br />[[File:XNUCLEO-F103RB-9.jpg|800px]]</p><br />
 +
 +
同时串口对应输出:<br />
 +
<pre>
 +
/*----------------------*/
 +
T:23 C      H:34
 +
D:3868   A:3.116  S:OFF
 +
Rot:227      SW:52
 +
R:20    G:6    B:105
 +
RTC:12 : 1 : 4    KEY:10
 +
/*----------------------*/
 +
</pre>
 +
 +
====反馈的数据含义====
 +
{|border=2; style="width:700px;"     
 +
|-style="background:#abc; color:black;" align="center"   
 +
|colspan=3|表 13. 各符号含义表
 +
|-style="background:#abc; color:black;" align="center"   
 +
|style="width:60px"|符号||含义||备注
 +
|-align="center"
 +
|T||温度||单位:摄氏度
 +
|-align="center"
 +
|H||湿度||空气湿度百分比(%)
 +
|-align="center"
 +
|D||AD转换值||12BIT的电压值,根据实验校准,可等比换算为实际值
 +
|-align="center"
 +
|A||DA转换值||电压值
 +
|-align="center"
 +
|S||状态||ON为开启,OFF为关闭
 +
|-align="center"
 +
|Rot||旋转编码器旋转计数||正转计数加一递增,反转减一递减,最小计数值为0;最大计数值为255
 +
|-align="center"
 +
|SW ||按下旋转编码器的计数||支持短按(单击),双击,长按和连发
 +
|-align="center"
 +
|R||红色值||根据RGB值可知实际颜色,参考Color Sensor用户手册
 +
|-align="center"
 +
|G||绿色值||根据RGB值可知实际颜色,参考Color Sensor用户手册
 +
|-align="center"
 +
|B||蓝色值||根据RGB值可知实际颜色,参考Color Sensor用户手册
 +
|-align="center"
 +
|RTC||实时时钟值||RTC输出时间数据
 +
|-align="center"
 +
|KEY ||Xnucleo用户按键计数||使用方式和旋转编码器的SW的使用方式一样
 +
|}
 +
</div>
 +
<div class="tabbertab" title="资料" id="myresources">
 +
 +
<h1>资料</h1>
 +
 +
 
===文档===
 
===文档===
*[http://{{SERVERNAME}}/w/upload/d/d4/Xnucleo-User-Manual-CN.pdf 用户手册]
+
*[https://{{SERVERNAME}}/w/upload/d/d4/Xnucleo-User-Manual-CN.pdf 用户手册]
*[http://{{SERVERNAME}}/w/upload/8/8f/XNUCLEO.pdf 原理图]  
+
*[https://{{SERVERNAME}}/w/upload/8/8f/XNUCLEO.pdf 原理图]  
 
===视频===
 
===视频===
 
*[[XNUCLEO-F103RB-Video|演示视频]][[File:video-logo.png|23px|link=XNUCLEO-F103RB-Video]]
 
*[[XNUCLEO-F103RB-Video|演示视频]][[File:video-logo.png|23px|link=XNUCLEO-F103RB-Video]]
 
===程序===
 
===程序===
*[http://{{SERVERNAME}}/w/upload/c/c3/Xnucleo-Code.7z 示例程序]
+
*[https://{{SERVERNAME}}/w/upload/c/c3/Xnucleo-Code.7z 示例程序]
 
===软件===
 
===软件===
 
*[https://www.mbed.com mbed]
 
*[https://www.mbed.com mbed]
第46行: 第508行:
 
=== 应用笔记 ===
 
=== 应用笔记 ===
 
*[[MDK-ARM软件入门]]
 
*[[MDK-ARM软件入门]]
<br /><big>批量下载教程——请戳<big><big><big>☛</big></big></big></big>[[File:download-icon.png|link=批量下载教程]]
 
  
<!--{{Join_us}}-->
+
 
 +
 
 +
</div>
 +
<div class="tabbertab" title="FAQ" id="myfaq">
 +
 
 +
<h1>FAQ</h1>
 +
<br />{{XNUCLEO-F103RB-FAQ}}</div>
 +
<div class="tabbertab" title="售后" id="mysupport">
 +
 
 +
<h1>技术支持</h1>
 +
<br />{{Service12}}</div>
 
</div>
 
</div>
<div class="tabbertab" title="FAQ"><br />{{XNUCLEO-F103RB-FAQ}}</div>
 
<div class="tabbertab" title="售后"><br />{{Service01}}</div>
 

2022年11月15日 (二) 18:16的最新版本

XNUCLEO-F103RB
XNUCLEO-F103RB (套餐A)
XNUCLEO-F103RB (套餐B)
{{{name2}}}
{{{name3}}}
板载接口
Arduino ICSP ST Morpho SWD
USB USB TO UART
相关产品
NUCLEO开发板
套餐模块

说明

产品概述

STM32 Xnucleo 开发平台为用户提供了一个经济、灵活和便捷的方式去实现更具创意的设想。并能通过选择执行性能、电源功耗和资源特性等多种组合快速搭建原型。 得益于通用的Arduino™和ST Morpho接口的支持,本产品可以搭配众多的Shield,便于用户在开源平台上使用多种扩展。 STM32 Xnucleo 兼容并能直接运行STM32 Nucleo 官方提供STM32综合HAL库和各种包装好的实验例子,并且可以直接兼容Nucleo的多种Shield。用户可在mbed.org直接访问STM32 Nucleo相关的在线资源。

产品特性

  • 使用LQFP64封装的STM32单片机;
  • 两种可扩展资源:

- Arduino Uno Revision 3通用连接头; - STMicroelectronics Morpho 扩展连接头以访问所用的STM32的IO端口;

  • 支持mbed;
  • 引出SWD接口,支持更多的下载/调试方式,如:ST-LINK/V2 (MINI) , J-LINK-ARM, ULINK V2;
  • 灵活的电源选择:

- USB 电源; - 外部输入电源VIN(6V<=VIN<=12V)来自Arduino和ST Morpho connector连接头,也可以通过CN2电源接头(6V~12V)输入; - 外部5V电源(E5V)来自ST Morpho connector连接头; - 外部+3.3V电源来自Arduino或ST Morpho connector连接头;

  • 7颗LEDs:

- 电源指示灯PWR,FLASH LED,串口接收指示灯RX和发送指示灯TX;

  • 两个按键:

- 分别为复位按键(RESET)和用户按键(USER);

  • 外部高速晶体振荡器:

- 8MHz 晶体振荡器;

  • 外部低速晶体振荡器

- 32.768KHz 晶体振荡器;

  • USB转虚拟串口;
  • USB接口(XNUCLEO-F030R8没有USB接口)
  • ICSP接口(兼容Arduino LEONARDO的shields),作为SPI接口使用;
  • 综合HAL库和多个实验例子
  • 支持广泛的集成开发环境(IDEs),包括IAR,基于GCC的IDEs;

产品型号

表1. Xnucleo系列信息
型号 目标MCU
XNUCLEO-F030R8 STM32F030R8T6
XNUCLEO-F103RB STM32F103RBT6
XNUCLEO-F302R8 STM32F302R8T6
XNUCLEO-F401RE STM32F401RET6
XNUCLEO-F411RE STM32F411RET6

XNUCLEO-FXXXRY含义如下:

  • FXXX为STM32 MCU产品线
  • R为管脚数(R意味着有64个管脚)
  • Y为FLASH容量(8为64K,B为128K,C为256K)

快速入门

安装开发工具

CP2102虚拟串口驱动的安装

STM32 Xnucleo 板载了基于CP2102的USB TO UART接口(下文简称为串口),方便用户调试代码。用户需要安装CP2102驱动程序才能正常工作。
运行安装程序:. \Xnucleo \tools\CP2102 driver\PreInstaller.exe
安装完成后,将XNucleo的USB TO UART接口连接到电脑上,可在“设备管理器”中查看到设备CP210x USB to UART Bridge Controller,则说明驱动安装成功。

STM32 ST-LINK UTILITY 的安装

运行安装程序:.\Xnucleo user\tools\STM32 ST-LINK Utility\STM32 ST-LINK Utility_v3.4.0.exe。(具体安装和使用方法,请参考ST官方的说明文档:.\Xnucleo user\tools\STM32 ST-LINK Utility\Readme\STLINK Utility.PDF。用户也可以到ST官方下载最新的安装程序。)
安装完成后,将ST-LINK/V2 (mini)模块连接到电脑上,可在“设备管理器”中查看到设备STMicroelectronics STLink dongle,则说明驱动安装成功。

J-LINK驱动的安装

运行安装程序:. \Xnucleo user\tools\JLinkARM\Setup_JLinkARM_V415e.exe。
安装完成后,将J-Link仿真器连接到电脑上,可在“设备管理器”中查看到设备J-Link driver,则说明驱动安装成功。

启动出厂程序

按照以下顺序配置STM32 Xnucleo,并且启动演示例程:

硬件设置

1) 设置板载跳线
  • JP3 选择 U5V
  • JP2 置为 ON
2) 接入电源
  • 使用USB电源时,连接Xnucleo板载USB到PC。
  • 使用外部电源时,连接Xnucleo电源座CN2到6~12V电源适配器。

3) 连接ST-LINK/V2 (mini)到Xnucleo的SWD接口
注意:如果先连接ST-LINK/V2 (mini)到SWD接口,再连接USB电源或外部电源,可能会导致ST-LINK/V2 (mini)初始化失败。

查看程序现象

每按一次USER按键,USER LED的闪烁频率由从快切换到慢,或者由慢切换到快。
===硬件配置

供电设置

STM32 Xnucleo 可以通过USB供电,也可以用过外部电源供电。
可由以下位置供电:

  • 位于CN6 或者CN7 的VIN (6V~12V)
  • E5V (5V) 或者 +3V3电源引脚
  • CN2电源接头(7V~12V)

其中VIN (7V~12V),E5V (5V),+3V3和CN2是通过使用一个外部的电源设备对Xnucleo进行供电。

USB电源输入

Xnucleo的所有部分以及Shield,在接上ST-LINK/V2 (MINI)之后,均可由ST-LINK/V2 (MINI)的USB接口,从PC主机获得供电。
如果用户使用ST-LINK/V2 (MINI)对Xnucleo供电的情况下:在ST-LINK/V2 (mini)对外输出3.3V时,则ST-LINK/V2 (mini)对应输出的最大电流为150mA。在ST-LINK/V2 (mini)对外输出5V时,则ST-LINK/V2 (mini)对应输出的最大电流为300mA。在这种情况下,只能强制使用外部电源,将在下一节介绍。
Xnucleo板载的所有器件和扩展板也可以使用自带的USB接口供电(U5V)。但应该注意,如果Xnucleo 需求超过300mA的电流,可能对USB有损害。当使用USB对Xnucleo供电时,必须通过JP3设置跳线选择U5V。如表 2. 电源相关跳线所示。

表 2. 电源相关跳线
跳线 描述
JP3 当使用USB供电时,必须跳线选择U5V(默认设置)
XNUCLEO-F103RB-1.png
当使用CN2,VIN或E5V必须跳线选择E5V
XNUCLEO-F103RB-2.png

使用CN2,VIN或E5V作为外部电源

CN2,VIN或E5V可以被用作为外部电源以防Xnucleo和扩展板的负载电流超过USB允许电流。在使用时,必须先连接好外部电源,然后再连接USB或ST-LINK/V2 (mini)。这个过程确保Xnucleo正常工作。

表 3. 外部电源参数
电源名 对应管脚 电压范围 最大电流 使用限制
CN2 CN2 6V~12V 800mA 输入电流与输入电压有关:
当CN2/VIN = 7V时,输入电流为800mA。
当6V<CN2/VIN(<或=)9V时,
输入电流为450mA

当9V<CN2/VIN(<或=)12V时,
输入电流为250mA

VIN CN6的8脚
CN7的24脚
E5V CN7的6脚 4.75V~5.25V 500mA ------

注意:当Xnucleo使用外部供电时,必须遵守以下步骤:
1) JP3选择U5V;
2) 连接外部电源到CN2,VIN或E5V;
3) 接通外部电源,CN2,VIN:6V~12V,E5V:5V;
4) 观察PWR LED为常亮;
5) 连接PC与Xnucleo USB或ST-LINK/V2 (mini);
如果不遵守以上步骤,而先接通USB或ST-LINK/V2 (mini)可能会出现如下问题: "当Xnucleo需求的电流超过300mA时,可能会对USB有损害。或者输入电流会被USB口限制在300mA以内,可能导致Xnucleo无法正常工作。

外部电源输出

  • 通过CN2,VIN或E5V对Xnucleo供+5V电压时,Xnucleo板载管脚CN6 的5 脚或CN7的18脚可对Arduino shield 和扩展板供电。在这种情况下,最大输入电流应该遵守表 3的说明。
  • 通过CN2,VIN或E5V对Xnucleo供+3.3V电压时,CN6 的4 脚或CN7的12脚和16脚也可用作电源输出,最大输出电流被限制于稳压器的最大电流输出能力(最大500mA)。

LED指示灯

Xnucleo板载的LED用于指示Xnucleo 工作状态的信息。

FLASH LED

表 4. LED和MCU引脚对应关系
FLASH LED MCU PIN
LED1 D13(PA5/PB13)
LED2 PC9
LED3 PC8
LED4 PC5

通过设置JP7可连接各个LED。对于XNUCLEO-F302R8,其PB13脚需连接到D13。而对于其他XNUCLEO,则需要将PA5连接到D13。当IO输出高电平,FLASH LED常亮;反之,FLASH LED熄灭。

电源指示灯PWR LED

该指示灯为红色。指示Xnucleo供电是否正常,+5V电源有效。

串口工作状态指示灯LED

TX指示灯为绿色,RX指示灯为蓝色。TX闪烁,指示MCU 正在向PC发送信息。RX闪烁,指示MCU 正在接收电脑返回信息。

按键

USER键

通过设置JP6为ON,USER按键连接到目标MCU的PC13脚。

RESET键

RESET键连接到目标MCU的NRST,用于复位目标MCU。

JP2(IDD)跳线

JP2 ON

STM32单片机被供电(默认)。

JP2 OFF

STM32单片机不被供电。移除该跳线之后,用户可以在该跳线两端的管脚之间串联一个电流表,用以测量STM32单片机的功耗。

USART 通信

STM32单片机的PA2和PA3是USART2接口,可以通过设置相关的跳线选择和虚拟串口、Morpho或者Arduino连接头相连。

设置跳线将目标MCU连接到串口

通过设置跳线(参考表 6. JP4引脚连接)

  • JP4的RX/PA3和TXD连接
  • JP4的TX/PA2和RXD连接

设置跳线实现MCU与SHIELD或扩展板的通信

如果目标MCU需要和shield或扩展板(CN9的RX/D0和TX/D1)通信,则需要设置跳线(参考表 6. JP4引脚连接):

  • JP4的RX/PA3和RX/D0连接
  • JP4的TX/PA2和TX/D1连接

在这种情况下,可以连接另一个USART(视目标MCU而定)到虚拟串口,需要按照以下方式连接:

  • JP4的TX/PC10/PC6连接RXD
  • JP4的RX/PC11/PC7连接TXD

其中,NUCLEO-F030R8的连接方式:

  • JP4的TX/PA9连接RXD
  • JP4的RX/PA10连接TXD

注意:用户需根据实际需求,参考表 5. USART的相关引脚和跳线选择合适的USART,并做相应的硬件配置,该列表中的USART在mbed中无效,即mbed中没有定义该表中的USART,只定义了USART2(PA2,PA3),因此,使用mbed中与USART相关的API(如:printf)时,只能选择USART2(PA2,PA3)与虚拟串口或CN9的RX/D0,TX/D1连接。

表 5. USART的相关引脚和跳线
型号\引脚 PC6,PC7 PC10,PC11 PA9,PA10 SB70,SB71 SB72,SB73
XNUCLEOF030R8 USART1 无此项
XNUCLEOF103RB USART3 USART1(未使用) ON OFF
XNUCLEO-F302R8 USART3 USART1(未使用) ON OFF
XNUCLEO-F401RE USART6 USART1(未使用) OFF ON


表 6. JP4引脚连接表
A B C D
ARDUINO PORT MCU PIN CP2102 PIN MCU PIN
RX/D0 RX/PA3 TXD RX/PC11/PC7
TX/D1 TX/PA2 RXD TX/PC10/PC6


表 7. NUCLEO-F030R8 JP4引脚连接表
A B C D
ARDUINO PORT MCU PIN CP2102 PIN MCU PIN
RX/D0 RX/PA3 TXD RX/PA10
TX/D1 TX/PA2 RXD TX/PA9

ADC或I2C通信

通过设置JP5的跳线可以选择ADC或I2C连接到Arduino或Morpho。
其中:

  • JP5的A4和A5是对应连接到Arduino的A4和A5(CN8的5,6脚)或Morpho CN7的36,38脚
  • JP5的SDA/PB9和SCL/PB8脚对应STM32 MCU的外设I2C
  • JP5的PC1/ADC和PC0/ADC脚对应STM32 MCU的外设ADC
表 8. JP5引脚连接表
A B C
MCU PIN ARDUINO PORT MCU PIN
SCL/PB8 A5 PC0/ADC
SDA/PB9 A4 PC1/ADC

SPI接口

Arduino的D11, D12, D13为SPI接口。其中XNUCLEO-F302R8的PB13,PB14,PB15分别和D13, D12, D11相连。其它XNUCLEO的PA5,PA6,PA7分别和D13, D12, D11相连。

USB接口

除XNUCLEO-F030R8之外,其他XNUCLEO预留了一个USB接口。通过设置JP1为ON,可以使能USB接口。

锡桥

表 9. 锡桥
锡桥 状态 描述
SB74 ON IOREF连接到3.3V
OFF IOREF悬空
SB75 ON IOREF连接到5V
OFF IOREF悬空
SB45 (VBAT/VLCD) ON STM32 单片机的VBAT 或 VLCD连接到VDD
OFF STM32 单片机的VBAT 或 VLCD不连接VDD
SB57 (VREF+) ON STM32 单片机的VREF+被连接到VDD
OFF STM32 单片机的VREF+不连接VDD,由CN10的7脚提供电源

注:所有出现在STM32 Xnucleo 板上的其他锡桥都是用于配置一些IO和电源脚,以兼容支持的STM 32单片机的特性和引出脚。

扩展连接头

本节的图片用于说明不同型号的STM32 Xnucleo板载接口对应的外设分配。

图 1. XNUCLEO-F030R8

XNUCLEO-F103RB-3.png

图 2. XNUCLEO-F103RB
XNUCLEO-F103RB-4.png

图 3. XNUCLEO-F302RC
XNUCLEO-F103RB-5.png

图 4. XNUCLEO-F401RE
XNUCLEO-F103RB-6.png

图 5. XNUCLEO-F411RE
XNUCLEO-F103RB-7.png

3.MBED基于STM32 XNUCLEO平台的使用

Xnucleo完全兼容和并且可以直接运行对应Nucleo的示例程序。因此,用户可以根据STM32 Nucleo的应用来开发STM32 Xnucleo的应用。Xnucleo与Nucleo的对应关系下表所示:

表 10. Xnucleo与Nucleo的对应关系表
Xnucleo Nucleo
XNUCLEO-F030R8 NUCLEO-F030R8
XNUCLEO-F103RB NUCLEO-F103RB
XNUCLEO-F302RC NUCLEO-F302R8
XNUCLEO-F401RE NUCLEO-F401RE
XNUCLEO-F411RE NUCLEO-F411RE

本手册操作都是以XNUCLEO-F103RB为例。用户在配置环境的时候可能会有一些不同,应根据实际情况操作。

使用MBED编译和下载工程

mbed的使用说明请参阅官方文档。由于篇幅所限,部分操作步骤可能略过。

编译工程

打开mbed软件,以XNUCLEO-F103RB为例,任意打开一个工程,例如Nucleo_printf。点击Compile进行编译。如果工程没有任何错误,则等待Compile Output提示Success!,并且生成Nucleo_printf_NUCLEO_F103RB.bin的文件。这个文件位于指定的文件保存路径(这个路径可以更改)。

下载工程

1) 运行STM32 ST-LINK Utility,依次点击file->Open file。打开Nucleo_printf_NUCLEO_F103RB.bin文件。
2) 将板载的USB TO UART接口连接到电脑的USB口,并且连接ST-LINK/V2 (mini),JP5选择U5V,根据2.5 USART 通信的要求设置JP4,并按照以下格式配置串口。

表 11. 串口配置
波特率 115200
数据位 8
停止位 1
奇偶校验

3) 下载工程之后,串口接收到的信息如下:

Hello World!
This program runs since 1 seconds.
This program runs since 2 seconds.
This program runs since 3 seconds.
This program runs since 4 seconds.
This program runs since 5 seconds.
...

此时,USER LED以0.5Hz的频率闪烁,TX LED 闪烁提示STM32 Xnucleo正在向PC发送信息。

4. 外围模块例程说明

Xnucleo提供了一个基于Waveshare的I/O Expansion Shield、0.96寸OLED和舒适款传感器的综合演示例程。按照表 12. 传感器和与XNUCLEO的接线方式把传感器对应接到I/O Expansion Shield上。

外围模块和与XNUCLEO的接线方式

表 12. 传感器和与XNUCLEO的接线方式
传感器 引脚 XNUCLEO-F030R8 XNUCLEO-F103RB XNUCLEO-F302R8 XNUCLEO-F401RE XNUCLEO-F411RE
Temperature-Humidity Sensor DOUT PB3/D3 PB3/D3 PB3/D3 PB3/D3 PB3/D3
Rotation Sensor SIA PB4/D5 PB4/D5 PB4/D5 PB4/D5 PB4/D5
SIB PB5/D4 PB5/D4 PB5/D4 PB5/D4 PB5/D4
SW PB10/D6 PB10/D6 PB10/D6 PB10/D6 PB10/D6
Color Sensor LED 3.3V 3.3V 3.3V 3.3V 3.3V
OUT PC7/D9 PA1/A1 PA1/A PA1/A1 PA1/A1
S3 PA9/D8 PA9/D8 PA9/D8 PA9/D8 PA9/D8
S2 PA8/D7 PA8/D7 PA8/D7 PA8/D7 PA8/D7
S1 NC NC NC NC NC
S0 NC NC NC NC NC
UV Sensor

Water Sensor
Moisture Sensor
Tilt Sensor
Laser Sensor
Gas Sensor
Sound Sensor
Flame Sensor
Hall Sensor
Metal Sensor
Infrared Reflective Sensor

AOUT PA4/A2 PA4/A2 PA4/A2 PA4/A2 PA4/A2
DOUT PA10/D2 PA10/D2 PA10/D2 PA10/D2 PA10/D2
0.96inch OLED DIN PA7/D11 PA7/D11 PB15/D11 PA7/D11 PA7/D11
CLK PA5/D13 PA5/D13 PB13/D13 PA5/D13 PA5/D13
CS PB8/A5 PB8/A5 PB8/A5 PB8/A5 PB8/A5
D/C PB9/A4 PB9/A4 PB9/A4 PB9/A4 PB9/A4
RES PB0/A3 PB0/A3 PB0/A3 PB0/A3 PB0/A3

注意:

  • 以上所有传感器的电源VCC和GND分别接在IO Expansion Shied的VCC和GND,具体的连接方法请参考IO Expansion Shied用户手册。
  • 部分传感器只引出了AOUT或DOUT中的一个,那么IO Expansion Shied多出的预留引脚不用接。且每次只能接一个传感器。

4.2. 例程现象说明

XNUCLEO板载的LED1每2秒闪烁一次,指示程序正在运行。

4.2.1. 数据显示方式:

该例程使用OLED和串口打印(串口每500 ms向PC打印信息)两种方式显示模块反馈的信息。例如:

图 7. OLED显示传感器参数
XNUCLEO-F103RB-9.jpg


同时串口对应输出:

/*----------------------*/
T:23 C      H:34
D:3868	  A:3.116   S:OFF
Rot:227      SW:52
R:20    G:6    B:105
RTC:12 : 1 : 4    KEY:10
/*----------------------*/

反馈的数据含义

表 13. 各符号含义表
符号 含义 备注
T 温度 单位:摄氏度
H 湿度 空气湿度百分比(%)
D AD转换值 12BIT的电压值,根据实验校准,可等比换算为实际值
A DA转换值 电压值
S 状态 ON为开启,OFF为关闭
Rot 旋转编码器旋转计数 正转计数加一递增,反转减一递减,最小计数值为0;最大计数值为255
SW 按下旋转编码器的计数 支持短按(单击),双击,长按和连发
R 红色值 根据RGB值可知实际颜色,参考Color Sensor用户手册
G 绿色值 根据RGB值可知实际颜色,参考Color Sensor用户手册
B 蓝色值 根据RGB值可知实际颜色,参考Color Sensor用户手册
RTC 实时时钟值 RTC输出时间数据
KEY Xnucleo用户按键计数 使用方式和旋转编码器的SW的使用方式一样

FAQ


如何连接 XNUCLEO以开始实验? 开始一个试验之前,必须先具备以下条件:

  1. 电源;
  2. 下载或仿真器ST-Link V2 (mini);
  3. Micro USB 线;
  4. 设置 JP3

实验步骤:

  1. 接上电源,以下电源任选其一即可;
  • USB :这个USB端口是用于USB通信试验,也可以提供电源
  • USB TO UART :这个USB端口是用于USB转串口(即虚拟串口),便于串口通信调试,也可以提供电源
  • DC 电源座,方便接入 直流电源适配器(6~12V)
  1. 设置 JP3跳线帽。当选择USB或USB TO UART作为输入电源时,JP3选择U5V; 当直流电源适配器(6~12V)作为输入电源时,JP3选择E5V;
  2. 接上 ST-Link V2 (mini)到SWD接口,以便下载程序或仿真。
  3. 使用串口调试时,连接电脑到 USB TO UART。
图 1. 连接USB TO UART,可进行串口调试,电脑USB电源对XNUCLEO板供电
XNUCLEO 1.png
图 2. 连接USB,可进行USB通信试验,电脑USB电源对XNUCLEO板供电
XNUCLEO 2.png
图 3. 连接USB和USB TO UART,可进行USB通信试验和串口调试,电脑USB电源对XNUCLEO板供电
XNUCLEO 3.png
图 4. 连接电源适配器,外部电源对XNUCLEO板供电
XNUCLEO 4.png
图 5. 连接电源适配器和USB TO UART,可进行串口调试,外部电源对XNUCLEO板供电
XNUCLEO 5.png
图 6. 连接USB和USB TO UART,可进行USB通信试验和串口调试,外部电源对XNUCLEO板供电
XNUCLEO 6.png

技术支持


联系人:黄工
EMAIL:3005763927@qq.com
电话:0755-83040712
QQ:3005763927
微信:扫下方二维码添加
Hkx-wx.jpg

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证