完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
2)摘自《正点原子STM32 F1 开发指南(NANO 板-HAL 库版)》关注官方微信号公众号,获取更多资料:正点原子
第一章 实验平台简介 本章,主要向大家简要介绍我们的实验平台:正点原子 NANO STM32F103 开发板。通过本章的学习,你将对我们后面使用的实验平台有个大概了解,为后面的学习做铺垫。本章将分为如下两节: 1.1,正点原子 NANO STM32F103 资源初探; 1.2,正点原子 NANO STM32F103 资源说明; 1.1 正点原子 NANO STM32F103 资源初探 从 2012 年至今,正点原子已推出多款 STM32 开发板深受广大用户好评,并常年稳居淘宝STM32 系列开发板销量冠军。这款 NANO STM32F103 开发板是正点原子受 STM32 教育联盟所邀,专门针对 STM32 初学者(学生),设计的一款入门级 STM32F103 开发板。该开发板具有:尺寸小巧、使用简单、携带方便、不易损坏、扩展性强和适合高校教学等特点。正点原子 NANO STM32F103 V1.3 的资源图如图 1.1.1 所示: 图 1.1.1 NANO STM32F103 资源图 从图 1.1.1 可以看出,正点原子 NANO STM32F103 开发板设计紧凑、资源丰富、接口齐全, 完全可以满足 STM32 入门学习的要求,适合初学者、以及各类高校教学使用。 开发板的外形尺寸为 100mm*60mm 大小,集成了 ST LINK 仿真器,满足人体工程学设计 要求,简洁实用,性价比高。 正点原子 NANO STM32F103 开发板板载资源如下: ◆ CPU:STM32F103RBT6,LQFP64,FLASH:128K,SRAM:20K; ◆ 外扩 SPI FLASH:W25Q16,2M 字节 ◆ 1 个电源指示灯(蓝色) ◆ 8 个状态指示灯(DS0-DS7,红色) ◆ 1 个红外接收头,并配备一款小巧的红外遥控器 ◆ 1 个 EEPROM 芯片,24C02,容量 256 字节 ◆ 2 个 4 位共阴极数码管(红色) ◆ 1 个 74HC595D 串行转并行数据芯片 ◆ 1 个 74HC138D 3-8 译码器芯片 ◆ 1 路数字温湿度传感器接口,支持 DS18B20 /DHT11 等 ◆ 1 个 USB JTAG 接口,集成 STLINK V2.1,可用于程序下载、仿真和串口通信 ◆ 1 个 USB SLAVE 接口,用于 USB 通信 ◆ 1 个有源蜂鸣器 ◆ 1 个串口选择接口 ◆ 1 个仿真器功能内/外部选择开关 ◆ 1 个 5P SWD 外部调试下载接口 ◆ 1 个 100K 可调电位器 ◆ 1 组多功能端口(ADC/TPAD) ◆ 1 组 5V 电源供应/接入口 ◆ 1 组 3.3V 电源供应/接入口 ◆ 1 个启动模式选择配置接口 ◆ 1 个 RTC 后备电池座,并带电池 ◆ 1 个复位按钮,可用于复位 MCU ◆ 4 个功能按钮,其中 KEY_UP 兼具唤醒功能 ◆ 1 个电容触摸按键 ◆ 1 个电源开关,控制整个开发板的电源 ◆ 1 个扩展 IO 接口,引出 18 个 IO 口,并带 3.3V 电源输出 正点原子 NANO STM32F103 开发板的特点包括: 1) 小巧精致。开发板尺寸仅为 6*10cm,集成了 ST LINK 仿真器,没有过多的可拆卸部件, 不易损坏,整个板子布局紧凑,美观大方。 2) 设计灵活。板上很多资源都可以灵活配置,以满足不同条件下的使用。总共引出 21 个 IO 口,可以方便大家扩展使用,板载 ST_LINK V2.1 仿真器,支持仿真调试和串口通信, 仅需 1 根 USB 线即可满足 STM32 开发的全部需求(供电、下载、仿真、串口通信)。 而且,还支持 SWD 和串口外扩,方便仿真调试其他开发板(NANO 板相当于一个 ST LINK 仿真器)。 3) 资源丰富。使用 STM32F103RBT6 作为主控芯片,拥有 128KB FLASH 和 20KB SRAM, 完全满足学习 STM32 之用,另外还外扩了数码管显示、SPI FLASH、EEPROM、跑马 灯、蜂鸣器、按键、红外遥控等常用外设,可谓五脏俱全。 4) 人性化设计。各个接口都有丝印标注,且用方框框出,使用起来一目了然;部分常用外 设大丝印标出,方便查找;接口位置设计合理,方便顺手。资源搭配合理,物尽其用。 1.2 正点原子 NANO STM32F103 资源说明 资源说明部分,我们将分为三个部分说明:硬件资源说明、软件资源说明和 NANO STM32F1 开发板 IO 引脚分配。 1.2.1 硬件资源说明 这里我们详细介绍 NANO STM32F103 的各个部分(图 1.1.1 中的标注部分)的硬件资源, 我们将按逆时针的顺序依次介绍。 1. 8 个 LED 这是开发板板载的八个 LED 灯(DS0-DS7),都为红色。可以像 51 那样实现跑马灯。 我们一般的应用 2 个 LED 足够了,在调试代码的时候,使用 LED 来指示程序状态,是非 常不错的一个辅助调试方法。NANO STM32F103 几乎每个实例都使用了 LED 来指示程序的运 行状态。 2. 仿真器功能选择开关 这是开发板的仿真器功能选择开关(SW1),开关用于选择板载的 ST_LINK V2.1 仿真器 对 内部或外部使用,往左拨(INS)对内部 STM32F103RBT6 芯片使用,往右拨(EXT)则对外 部 MCU 使用(通过 P4 SWD 口)。注意:仿真器功能选择开关必须在上电前设置好! 3. SWD 调试接口 这是开发板的 SWD 调试接口(P4),该接口主要是给外部 MCU 下载调试使用的,前提: SW1 开关必须往右拨(打到 EXT 位置)。 4. USB SLAVE 这是开发板板载的一个 MicroUSB 头(USB_SLAVE),用于 USB 从机(SLAVE)通信, 一般用于 STM32 与电脑的 USB 通信。通过此 MicroUSB 头,就可以和电脑进行 USB 通信了。 5. STM32F103C8 这是开发板的 ST_LINK V2.1 仿真器的主控芯片(U8),型号为:STM32F103C8T6。该芯 片具有 20KB SRAM,64KB FLASH,内部运行 ST_LINK V2.1 仿真器的固件。 6. USB JTAG 这是开发板板载的一个 MicroUSB 头(USB _JTAG),即板载 ST LINK V2.1 的 USB 口, 通过该接口,可以实现:供电、下载、仿真调试和串口通信等功能。注意:USB JTAG 和 USB SLAVE 接口是没有共用的,当两个接口 USB 都接上,可以给板子提供更大的电流。 7. 有源蜂鸣器 这是开发板的板载蜂鸣器(BEEP),可以实现简单的报警/闹铃等功能。 8. 红外接收头 这是开发板的红外接收头(U3),可以实现红外遥控功能,通过这个接收头,可以接受市 面常见的各种遥控器的红外信号,大家甚至可以自己实现万能红外解码。当然,如果应用得当, 该接收头也可以用来传输数据。 NANO STM32F103 给大家配备了一个小巧的红外遥控器,该遥控器外观如图 1.2.1.1 所示: 图 1.2.1.1 红外遥控器 9. DS18B20/DHT11 接口 这是开发板的一个复用接口(U2),该接口由 4 个镀金排孔组成,可以用来接 DS18B20/DS1820 等数字温度传感器。也可以用来接 DHT11 这样的数字温湿度传感器。实现一 个接口,2 个功能。不用的时候,大家可以拆下上面的传感器,放到其他地方去用,使用上是 十分方便灵活的。 10. USB 串口/串口 1 这是 ST_LINK V2.1 仿真器虚拟串口与 STM32F103RBT6 的串口 1 进行连接的接口(P5), 标号 RXD 和 TXD 是 ST_LINK V2.1 仿真器虚拟串口的两个数据口,而 PA9(TXD)和 PA10 (RXD)则是 STM32 的串口 1 的两个数据口(复用功能下)。他们通过跳线***对接,就可以 连接在一起了,从而实现 STM32 的串口通信。 注意:板载的 ST LINK 虚拟串口和 STM32F103RBT6 芯片的串口并没有直接连接在一起, 而是通过跳线***连接,这个设计,可以让大家把 NANO 板当成一个 USB 的转 TTL 的虚拟串口, 来和其他板子通信,而其他板子的串口,也可以方便地接到 NANO 板上。 11. 复位按键 这是开发板板载的复位按键(RESET),用于复位 STM32,还具有复位数码管显示的功能, 因为数码管的驱动电路 74HC595 芯片的复位引脚和 STM32 的复位引脚是连接在一起的,当按 下该键的时候,STM32 和 74HC595 一并被复位。 12. 启动选择端口 这是开发板板载的启动模式选择端口(P2),STM32 有 BOOT0(B0)和 BOOT1(B1) 两个启动选择引脚,用于选择复位后 STM32 的启动模式,但 BOOT1 我们默认接了下拉电阻 (BOOT1=0)。在开发板上,我们通过跳线***选择 STM32 的启动模式。关于启动模式的说明, 请看 2.1.5 小节。 13. 4 个按键 这是开发板板载的 4 个机械式输入按键(KEY0、KEY1、KEY2 和 KEY_UP),其中 KEY_UP 具有唤醒功能,该按键连接到 STM32 的 WAKE_UP(PA0)引脚,可用于待机模式下的唤醒, 在不使用唤醒功能的时候,也可以做为普通按键输入使用。 其他 3 个是普通按键,可以用于人机交互的输入,这 3 个按键是直接连接在 STM32 的 IO 口上的。这里注意 KEY_UP 是高电平有效,而 KEY0、KEY1 和 KEY2 是低电平有效,大家在 使用的时候留意一下。 14. TPAD 触摸按钮 这是开发板板载的一个电容触摸输入按键(TPAD),利用电容充放电原理,实现触摸按 键检测功能。 15. 电源指示灯 这是开发板板载的一颗蓝色的 LED 灯(PWR),用于指示电源状态。在电源开启的时候 (通过板上的电源开关控制),该灯会亮,否则不亮。通过这个 LED,可以判断开发板的上电 情况。 16. 可调电位器 这是开发板板载的 100K 可调电位器(VR1),可用于调节 ADC 的采样电压(需短接 P3 口的 ADC 和 VR 排针)。 17. 多功能接口 这是由 1 个 4P 排针组成的接口(P3)。端口可以实现的功能有:ADC 电压采集和电容触 摸按键,通过 1 个跳线***的设置,就可以实现不同的功能。 18. 3.3V 电源输入/输出 这是开发板板载的一组 3.3V 电源输入输出排针(2*3)(VOUT1),用于给外部提供 3.3V 的电源,也可以用于从外部接 3.3V 的电源给板子供电。 大家在实验的时候可能经常会为没有 3.3V 电源而苦恼不已,有了正点原子 NANO 板,你 就可以很方便的拥有一个简单的 3.3V 电源(USB 供电的时候,最大电流不能超过 500mA,双 USB 供电的时候,最大可达 1000mA)。 19. 5V 电源输入/输出 这是开发板板载的一组 5V 电源输入输出排针(2*3)(VOUT2),该排针用于给外部提供 5V 的电源,也可以用于从外部接 5V 的电源给板子供电。 同样大家在实验的时候可能经常会为没有 5V 电源而苦恼不已,正点原子充分考虑到了大 家需求,有了这组 5V 排针,你就可以很方便的拥有一个简单的 5V 电源(USB 供电的时候, 最大电流不能超过 500mA,双 USB 供电的时候,最大可达 1000mA)。 20. 电源开关 这是开发板板载的电源开关(K1)。该开关用于控制整个开发板的供电,如果切断,则整 个开发板都将断电,电源指示灯(PWR)会随着此开关的状态而亮灭。 21. 74HC138D 这是开发板板载的 74HC138D 芯片(U7),该芯片为 3-8 译码器芯片,在开发板上用于驱 动数码管的位选功能。 22. 2 个四位共阴极数码管 这是开发板板载的 2 个四位共阴极数码管(LEDSEG1 和 LEDSEG2),颜色为红色,尺寸 为 0.28 寸,在开发板中用作显示功能。 23. 后备电池接口 这是 STM32 后备区域的供电接口(BAT1),可安装 CR1220 电池(默认安装了),可以 用来给 STM32 的后备区域提供能量,在外部电源断电的时候,维持后备区域数据的存储,以 及 RTC 的运行。 24. 74HC595D 这是开发板板载的 74HC595D 芯片(U6),该芯片为串行转并行数据芯片,在开发板上用 于驱动数码管段选功能。 25. 24C02 这是开发板板载的 EEPROM 芯片(U5),容量为 2Kb,即 256 字节。用于存储一些掉电 不能丢失的重要数据,比如系统设置的一些参数等。有了这个就可以方便的实现掉电数据保存。 26. STM32F103RBT6 这是开发板的核心芯片(U1),型号为:STM32F103RBT6。该芯片拥有:128KB FLASH、 20KB SRAM、3 个通用定时器、1 个高级定时器、1 个 DMA 控制器(共 7 个通道)、2 个 SPI、 2 个 IIC、3 个串口、1 个 RTC、2 个看门狗、1 个 Systick 定时器、1 个 USB、1 个 CAN、2 个 12 位 ADC、以及 51 个通用 IO 口。 27. W25Q16 这是开发板外扩的 SPI FLASH 芯片(U4),容量为 16Mbit,即 2M 字节,可用于存储用 户数据。 28. IO 扩展接口 这是开发板的主要 IO 扩展接口(P1),由 1 个 2*10 的排针组成,总共引出 18 个 IO 口, 同时还带有 3.3V 和 GND 输出,方便扩展外接其他模块。 STM32F103RBT6 总共有 51 个 IO,除去 RTC 和 HSE 晶振占用的 4 个,还剩 47 个,由于部分 IO 口被板载的功能芯片占用了,就没做引出。过 P1 排针引出了 18 个 IO,通过 P5 排针引 出了 2 个 IO 口,通过 P3 排针,引出了 1 个 IO 口,这样总共引出了 21 个 IO 口。 1.2.2 软件资源说明 上面我们详细介绍了正点原子 NANO STM32F103 开发板的硬件资源。接下来,我们将向 大家简要介绍一下 NANO STM32F103 开发板的软件资源。 NANO STM32F103 开发板提供的标准例程多达 31 个,一般的 STM32 开发板仅提供库函 数代码,而我们则提供寄存器和 HAL 库两个版本的代码(本手册以 HAL 库版本作为介绍)。 我们提供的这些例程,基本都是原创,拥有非常详细的注释,代码风格统一、循序渐进,非常 适合初学者入门。而其他开发板的例程,大都是来自 ST 库函数的直接修改,注释也比较少, 对初学者来说不那么容易入门。 NANO STM32F103 开发板例程列表如表 1.2.2.1 所示: 表 1.2.2.1 正点原子 NANO STM32F103 开发板例程表 从上表可以看出,正点原子 NANO STM32F103 的例程基本上涵盖了 STM32F103RBT6 的 所有内部资源,并且外扩展了很多有价值的例程,比如:FLASH 模拟 EEPROM 实验、USMART 调试实验、UCOSII 实验、内存管理实验、IAP 实验、综合测试实验等。 而且从上表可以看出,例程安排是循序渐进的,首先从最基础的跑马灯开始,然后一步步 深入,从简单到复杂,有利于大家的学习和掌握。所以,正点原子 NANO STM32F103 开发板 是非常适合初学者的。当然,对于想深入了解 STM32 内部资源的朋友,ALIENTEK NANO STM32F103 也绝对是一个不错的选择。 1.2.3 NANO STM32F103 开发板 IO 引脚分配 为了让大家更快更好的使用我们的 NANO 板,这里特地将 NANO 板的主芯片:STM32F103RBT6 的 IO 资源分配做了一个总表,以便大家查阅。NANO STM32F103 开发板的 IO 引脚分配总表如表:1.2.3.1 所示: 表 1.2.3.1 NANO STM32F103 开发板 IO 资源分配总表 表 1.2.3.1 中,引脚栏即 STM32F103RBT6 的引脚编号;GPIO 栏则表示 GPIO;连接资源栏 表示了对应 GPIO 所连接到的网络;独立栏,表示该 IO 是否可以完全独立(不接其他任何外设 和上下拉电阻)使用,通过一定的方法,可以达到完全独立使用该 IO,Y 表示可做独立 IO,N 表示不可做独立 IO;连接关系栏,则对每个 IO 的连接做了简单的介绍。 该表在:光盘→3,ALIENTEK NANO STM32F1 开发板原理图 文件夹下有提供 Excel 格 式,并注有详细说明和使用建议,大家可以打开该表格的 Excel 版本,详细查看。 |
|
相关推荐
|
|
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
621 浏览 1 评论
1962 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1068 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1487 浏览 1 评论
LL库F030进行3个串口收发,2个串口为232,一个为485,长时间后,会出现串口1停止运行,另外两个正常,只有重启复原
1924 浏览 1 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 19:41 , Processed in 0.524652 second(s), Total 68, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号