NANO-stm32F103-HAL库基础指南--开发板硬件介绍

一、开发板介绍

在这里插入图片描述

  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),可以实现红外遥控功能,通过这个接收头,可以接受市 面常见的各种遥控器的红外信号,大家甚至可以自己实现万能红外解码。当然,如果应用得当, 该接收头也可以用来传输数据。
  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 字节。用于存储一些掉电 不能丢失的重要数据,比如系统设置的一些参数等。有了这个就可以方便的实现掉电数据保存。
  25. 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 口。
  26. W25Q16
    这是开发板外扩的 SPI FLASH 芯片(U4),容量为 16Mbit,即 2M 字节,可用于存储用 户数据。
  27. 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 口。

二、引脚分配图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
引脚栏即 STM32F103RBT6 的引脚编号;GPIO 栏则表示 GPIO;连接资源栏 表示了对应 GPIO 所连接到的网络;独立栏,表示该 IO 是否可以完全独立(不接其他任何外设 和上下拉电阻)使用,通过一定的方法,可以达到完全独立使用该 IO,Y 表示可做独立 IO,N 表示不可做独立 IO;连接关系栏,则对每个 IO 的连接做了简单的介绍。

注意事项:
1, 开发板一般情况是由 USB_JTAG 口供电,由于该口为 ST_LINK 的 USB 口,在第一次上电的时候会提示安装 ST_LINK 驱动。STLINK 驱动在,资料包 5,软件资料->ST LINK 驱动文件夹。
2, 1 个 USB 供电最多 500mA,且由于导线电阻存在,供到开发板的电压,一般都不会有 5V,如果外接了多个大负载模块,可能引起 USB 供电不够,建议可以同时插 2 个 USB 口,并插上 USB_SLAVE,这样供电可以更足一些。
3, 开发板自带了 ST_LINK V2.1 的仿真器,在对 NANO 开发板下载或仿真程序时,必须 将 SW1 开关拨到左边(INS),同时 P4 排针的信号线尽量不要连接外部,避免干扰信号线,从而导致 NANO 板下载或仿真程序失败。需要对外部电路的 MCU 使用,则将 SW1 开关拨到右边(EXT),通过 P4 排针信号线的线序连接到外部对应接口上。记住: 无论仿真器给外部还是内部使用,MCU 必须选择为 SWD 模式
4, 当你想使用某个 IO 口用作其他用处的时候,请先看看开发板的原理图,确定 IO 口是否有连接在开发板的某个外设上,如果有,该外设的这个信号是否会对你的使用造成干 扰,先确定无干扰,再使用这个 IO。比如 PB8 就不怎么适合再用做其他输出,因为他接了蜂鸣器,如果你输出低电平就会听到蜂鸣器的叫声了。
5, 开发板上存在跳线帽,大家在使用某个功能的时候,要先查查这个是否需要设置跳线帽,以免浪费时间,如:P5 跳线帽没接,虚拟串口无法使用。P3 跳线帽没接,ADC 电压采集或 TPAD 触摸按键无法使用。

猜你喜欢

转载自blog.csdn.net/Kattlin_gsc/article/details/106674021