stm32学习(二)STM32F103ZET6内部资源讲解

大家好,今天和大家分享一下STM32F103ZET6的板载资源,希望和大家一起学习,一起进步。当然本人目前是一个对库函数版本的初学者,如果谈论不妥的地方,希望大家能够及时提出,批评指正,本人将不胜感激。非常感谢!

MCU

ALIENTEK 精英 STM32F103 开发板选择的是 STM32F103ZET6 作为 MCU,该芯片是STM32F103 里面配置非常强大的了,它拥有的资源包括:64KB SRAM、 512KB FLASH、 2 个基本定时器、 4 个通用定时器、 2 个高级定时器、 2 个 DMA 控制器(共 12 个通道)、 3 个 SPI、2 个 IIC、 5 个串口、 1 个 USB、 1 个 CAN、 3 个 12 位 ADC、 1 个 12 位 DAC、 1 个 SDIO 接口、1 个 FSMC 接口以及 112 个通用 IO 口。该芯片的配置十分强悍,并且还带外部总线(FSMC)可以用来外扩 SRAM 和连接 LCD 等,通过 FSMC (可变静态存储控制器)驱动 LCD,可以显著提高 LCD 的刷屏速度,是 STM32F1 家族常用型号里面,最高配置的芯片了,所以我们选择了它作为我们精英板的主芯片。
原理图如下:
stm32学习(二)STM32F103ZET6内部资源讲解_第1张图片

开发板资源介绍

stm32学习(二)STM32F103ZET6内部资源讲解_第2张图片
可以从图中看出ALIENTEK 精英 STM32F103,资源丰富,并充分利用了STM32F103的内部资源,基本所有 STM32F103 的内部资源,都可以在此开发板上验证,同时扩充丰富的接口和功能模块,整个开发板小巧精致。

部分资源详解

JTAG/SWD

ALIENTEK 精英 STM32F103 板载的标准 20 针 JTAG/SWD 接口电路如图 所示:
stm32学习(二)STM32F103ZET6内部资源讲解_第3张图片
这里,我们采用的是标准的 JTAG 接法,但是 STM32 还有 SWD 接口, SWD 只需要根线(SWCLK 和 SWDIO)就可以下载并调试代码了,这同我们使用串口下载代码差不多,而且速度非常快,能调试。STM32 的 SWD 接口与 JTAG 是共用的,只要接上 JTAG,你就可以使用 SWD 模式了。特别提醒, JTAG 有几个信号线用来接其他外设了,但是 SWD 是完全没有接任何其他外设
的,所以在使用的时候, 推荐大家一律使用 SWD 模式!!!

启动模式设置接口

ALIENTEK 精英 STM32F103 的启动模式设置端口电路如图 所示:
stm32学习(二)STM32F103ZET6内部资源讲解_第4张图片
上图的 BOOT0 和 BOOT1 用于设置 STM32 的启动方式:
stm32学习(二)STM32F103ZET6内部资源讲解_第5张图片
一般情况下(即标准的 ISP 下载步骤)如果我们想用串口下载代码,则必须先配置 BOOT0 为 1,BOOT1 为 0,然后按复位键,最后再通过程序下载代码,下载完以后又需要将 BOOT0 设置为 GND,以便每次复位后都可以运行用户代码。可以看到,这个标准的 ISP 步骤还是很繁琐的,跳线帽跳来跳去,还要手动复位,所以 ALIENTEK 为 STM32 的串口下载专门设计了一键下载电路,通过串口的 DTR 和 RTS 信号,来自动控制 RST(复位)和BOOT0,因此不需要用户来手动切换状态,直接串口下载软件自动控制,可以非常方便的下载代码,这是其他开发板所不具备的。

LED

ALIENTEK 精英 STM32F103 板载总共有 3 个 LED:
stm32学习(二)STM32F103ZET6内部资源讲解_第6张图片
其实STM32中小灯是不会像c51系列那么多,毕竟小灯的作用并不是非常大,不需要浪费那么多IO口。在我们编程中小灯最大的作用是方便我们对程序进行调试,判断。
其中 PWR 是系统电源指示灯,为蓝色。 LED0(DS0)和 LED1(DS1)分别接在 PB5 和 PE5 上。为了方便大家判断,DS0 为红色的 LED, DS1 为绿色的 LED。

按键

ALIENTEK 精英 STM32F103 板载总共有 3 个输入按键,其原理图如图所示:
stm32学习(二)STM32F103ZET6内部资源讲解_第7张图片
KEY0 和 KEY1 用作普通按键输入,分别连接在 PE4 和 PE3 上,这里并没有使用外部上拉电阻,但是 STM32 的 IO 作为输入的时候,可以设置上下拉电阻,所以我们使用 STM32 的内部上拉电阻来为按键提供上拉。
KEY_UP 按键连接到 PA0(STM32 的 WKUP 引脚),它除了可以用作普通输入按键外,还可以用作 STM32 的唤醒输入。注意:这个按键是高电平触发的。

资源注意事项

一. LCD接口连接在STM32F103ZET6的FSMC总线上面,可以显著提高LCD的刷屏速度。并且液晶复位信号RESET直接连接在开发板的复位按钮上,和MCU共用一个复位电路。
二. 板载的EEPROM芯片是24C02,该芯片的容量为2Kb,即256个字节,对于普通应用是足够的。
三. 无线模块接口用来连接NRF24L01或者RFID等无线模块。注意: NRF24L01 不能和蓝牙/WIFI 连接。NRF24L01 无线模块的最大传输速度可以达到 2Mbps,传输距离最大可以到 30 米左右(空旷地,无干扰)。
四. 有源蜂鸣器是指自带了震荡电路的蜂鸣器,这种蜂鸣器一接上电就会自己震荡发声。而如果是无源蜂鸣器,则需要外加一定频率(2~5Khz)的驱动信号,才会发声。
五. STM_DAC 与摄像头的 GBC_KEY 共用 PA4,所以他们不可以同时使用,但是可以分时复用。
六. USB 转串口,我们选择的是 CH340G
七. 最好大家最好就是一直用 SWD 模式
八. 当你想使用某个 IO 口用作其他用处的时候,请先看看开发板的原理图,该 IO 口是否有连接在开发板的某个外设上,如果有,该外设的这个信号是否会对你的使用造成干扰,先确定无干扰,再使用这个 IO。比如 PB8 就不怎么适合再用做其他输出,因为他接了蜂鸣器,如果你输出高电平就会听到蜂鸣器的叫声了。

今天的分享就这样了,谢谢大家的浏览!

你可能感兴趣的:(stm32)