“XNUCLEO-F103RB”的版本间的差异
Waveshare-admin(讨论 | 贡献) 小 (替换文字 - 「 {|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) |
Waveshare-eng09(讨论 | 贡献) |
||
(未显示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"> | ||
− | |||
− | |||
{{开发板|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| | + | <ul class="tabbernav"> |
− | <div class="tabbertab" title="套餐A">[[File:XNUCLEO-F103RB-Package-A.jpg|360px|alt=XNUCLEO-F103RB (套餐A)| | + | <li class="nav-link">[[#myintro|说明]]</li> |
− | <div class="tabbertab" title="套餐B">[[File:XNUCLEO-F103RB-Package-B.jpg|360px|alt=XNUCLEO-F103RB (套餐B)| | + | <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=[ | + | |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> | ||
+ | |||
+ | |||
===文档=== | ===文档=== | ||
− | *[ | + | *[https://{{SERVERNAME}}/w/upload/d/d4/Xnucleo-User-Manual-CN.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]] | ||
===程序=== | ===程序=== | ||
− | *[ | + | *[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软件入门]] | ||
− | |||
− | < | + | |
+ | |||
+ | </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> | ||
− | |||
− |
2022年11月15日 (二) 18:16的最新版本
| ||||||||||||||||||||
| ||||||||||||||||||||
|
说明
产品概述
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(默认设置) |
当使用CN2,VIN或E5V必须跳线选择E5V |
使用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时, |
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 |
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 |
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打印信息)两种方式显示模块反馈的信息。例如:
同时串口对应输出:
/*----------------------*/ 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以开始实验?
开始一个试验之前,必须先具备以下条件:
- 电源;
- 下载或仿真器ST-Link V2 (mini);
- Micro USB 线;
- 设置 JP3
实验步骤:
- 接上电源,以下电源任选其一即可;
- USB :这个USB端口是用于USB通信试验,也可以提供电源
- USB TO UART :这个USB端口是用于USB转串口(即虚拟串口),便于串口通信调试,也可以提供电源
- DC 电源座,方便接入 直流电源适配器(6~12V)
- 设置 JP3跳线帽。当选择USB或USB TO UART作为输入电源时,JP3选择U5V; 当直流电源适配器(6~12V)作为输入电源时,JP3选择E5V;
- 接上 ST-Link V2 (mini)到SWD接口,以便下载程序或仿真。
- 使用串口调试时,连接电脑到 USB TO UART。
图 1. 连接USB TO UART,可进行串口调试,电脑USB电源对XNUCLEO板供电 |
图 2. 连接USB,可进行USB通信试验,电脑USB电源对XNUCLEO板供电 |
图 3. 连接USB和USB TO UART,可进行USB通信试验和串口调试,电脑USB电源对XNUCLEO板供电 |
图 4. 连接电源适配器,外部电源对XNUCLEO板供电 |
图 5. 连接电源适配器和USB TO UART,可进行串口调试,外部电源对XNUCLEO板供电 |
图 6. 连接USB和USB TO UART,可进行USB通信试验和串口调试,外部电源对XNUCLEO板供电 |