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 家族常用型号里面,最高配置的芯片了,所以我们选择了它作为我们精英板的主芯片。
原理图如下:
在这里插入图片描述

开发板资源介绍


可以从图中看出ALIENTEK 精英 STM32F103,资源丰富,并充分利用了STM32F103的内部资源,基本所有 STM32F103 的内部资源,都可以在此开发板上验证,同时扩充丰富的接口和功能模块,整个开发板小巧精致。

部分资源详解

JTAG/SWD

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

启动模式设置接口

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

LED

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

按键

ALIENTEK 精英 STM32F103 板载总共有 3 个输入按键,其原理图如图所示:
在这里插入图片描述
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 就不怎么适合再用做其他输出,因为他接了蜂鸣器,如果你输出高电平就会听到蜂鸣器的叫声了。

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

### 回答1: 基于STM32F103ZET6实现无源蜂鸣器的点亮电路,需要以下步骤: 1. 连接硬件:将STM32F103ZET6的一个IO口(例如PC13)与无源蜂鸣器的一端连接,在连接之间插入适当大小的限流电阻(例如220Ω)。 2. 配置IO口:在STM32的开发环境中(例如Keil),打开对应的工程,找到GPIO控制器的相应寄存器(如GPIOC->CRH)。 3. 配置IO口为输出模式,并设置输出电平为高或低:根据具体的硬件电路和逻辑需求,将对应的位设置为输出模式,并根据需要设置输出电平。 4. 开启时钟:在寄存器RCC->APB2ENR中开启对GPIO Port C的时钟。 5. 点亮蜂鸣器:将对应的IO口设置为高电平,触发无源蜂鸣器。 6. 关闭蜂鸣器:将对应的IO口设置为低电平,蜂鸣器停止发声。 需要注意的是,无源蜂鸣器是一种直接产生声音的元件,只能通过改变输入信号的电平来控制声音的高低,无法调节频率和音量。因此,通过改变IO口的高低电平来控制蜂鸣器的开关,实现点亮和熄灭。获取更复杂的声音效果,需要使用有源蜂鸣器或配合其他元件和算法进行控制。 ### 回答2: 基于STM32F103ZET6实现无源蜂鸣器的点亮电路可以通过以下步骤实现: 1. 首先,将无源蜂鸣器连接到STM32F103ZET6微控制器的一个GPIO引脚上。无源蜂鸣器通常有两个引脚-正极和负极。将无源蜂鸣器的正极连接到STM32F103ZET6的GPIO引脚上。 2. 接下来,在STM32F103ZET6的主程序中配置使用的GPIO引脚。这需要调用寄存器相关的函数来设置引脚模式和配置。 3. 之后,在主程序中使用相关的GPIO函数来点亮蜂鸣器。一种简单的实现方法是将GPIO引脚的输出电平设为高电平,然后延迟一段时间,再将输出电平设为低电平,使引脚的输出产生一段时间的脉冲信号。 4. 还可以根据需求调整脉冲的频率和持续时间来实现不同的蜂鸣效果。通过调整延迟时间和脉冲次数,可以产生不同的音调和间隔。 需要注意的是,在使用无源蜂鸣器时,一定要注意其工作电压和电流,在连接到STM32F103ZET6的GPIO引脚时不要超过其最大限制。 以上是基于STM32F103ZET6的无源蜂鸣器点亮电路的简单实现方法。具体的电路设计和代码实现还需要根据实际情况进行调整和优化。 ### 回答3: 基于STM32F103ZET6实现无源蜂鸣器的点亮电路可以通过以下步骤完成: 1. 硬件连接: 将STM32F103ZET6的一个IO口连接到无源蜂鸣器的信号脚上,另一端连接到地线(GND)。 2. 软件编程: a. 首先,根据使用的开发环境,创建一个新的工程,并将STM32F103ZET6的相应引脚配置为GPIO模式,并设置为输出模式。 b. 在主循环中,将该蜂鸣器引脚输出高电平,然后延时一段时间(可以根据需要设置合适的延时时间),再将该引脚输出低电平,然后再次延时一段时间,以实现蜂鸣器的点亮和熄灭效果。 c. 可以通过循环以上步骤来实现持续的蜂鸣声。 d. 完成上述代码后,编译并上传到STM32F103ZET6单片机。 3. 运行及测试: a. 将单片机连接到电源,并确保工作电压和蜂鸣器的工作电压匹配。 b. 当单片机上电后,程序将开始运行并控制蜂鸣器的点亮和熄灭。 c. 可以通过观察蜂鸣器是否发出声音来验证程序的运行情况。 以上就是基于STM32F103ZET6实现无源蜂鸣器点亮电路的简单步骤。需要注意的是,如果需要控制音调和频率等更复杂的操作,可能需要使用PWM技术或其他的方式进行实现。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值