完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 正点原子运营官 于 2020-4-7 15:18 编辑
1)实验平台:正点原子STM32mini开发板 2)摘自《正点原子STM32 不完全手册(HAL 库版)》关注官方微信号公众号,获取更多资料:正点原子 第一篇 硬件篇 实践出真知,要想学好 STM32,实验平台必不可少!本篇将详细介绍我们用来学习 STM32 的硬件平台:ALIENTEK MiniSTM32 开发板,通过该篇的介绍,读者将了解到我们的学习平台 ALIENTEK MiniSTM32 开发板的功能及特点。 为了让读者更好的使用 ALIENTEK MiniSTM32 开发板,本篇还介绍了开发板的一些使用 注意事项,请读者在使用开发板的时候一定要注意。 本篇将分为如下两章: 1,实验平台简介; 2,实验平台硬件资源详解;ALIENTEK MiniSTM32 V3.0 开发板教程 5 STM32 不完全手册(HAL 库版) 第一章 实验平台简介 本章,主要向大家简要介绍我们的实验平台:ALIENTEK MiniSTM32 开发板。通过本章的 学习,你将对我们后面使用的实验平台有个大概了解,为后面的学习做铺垫。 本章将分为如下两节: 1.1,ALIENTEK MiniSTM32 开发板资源初探; 1.2,ALIENTEK MiniSTM32 开发板资源说明; 1.1 ALIENTEK MiniSTM32 开发板资源初探 ALIENTEK MiniSTM32 开发板是一款迷你型的 STM32F103 开发板,小巧而不小气,简约 而不简单。该开发板自推出以来,深得广大 STM32 学习者喜爱。目前最新版本为 V3,最新 MiniSTM32 开发板资源图如图 1.1.1 所示 图 1.1.1 MiniSTM32 开发板资源图 这款 MiniSTM32 V3 开发板,设计精良,结构小巧!板子的设计充分考虑了成本与功能这 两个***盾面,再结合实际使用的经验及 STM32 的特点,最终确定了这样的设计。总体来说是 该有的都有,不该有的坚决不要,可有可无的选择性价比最高的留下。 ALIENTEK MiniSTM32 开发板板载资源如下: ◆ CPU:STM32F103RCT6,LQFP64,FLASH:256K,SRAM:48K; ◆ 1 个标准的 JTAG/SWD 调试下载口 ◆ 1 个电源指示灯(蓝色) ◆ 2 个状态指示灯(DS0:红色,DS1:绿色) ◆ 1 个红外接收头,配备一款小巧的红外遥控器 ◆ 1 个 IIC 接口的 EEPROM 芯片,24C02,容量 256 字节 ◆ 1 个 SPI FLASH 芯片,W25Q64,容量为 8M 字节(即 64M bit) ◆ 1 个 DS18B20/DS1820 温度传感器预留接口 ◆ 1 个标准的 2.4/2.8/3.5/4.3/7 寸 LCD 接口,支持触摸屏 ◆ 1 个 OLED 模块接口(与 LCD 接口部分共用) ◆ 1 个 USB 串口接口,可用于程序下载和代码调试 ◆ 1 个 USB SLAVE 接口,用于 USB 通信 ◆ 1 个 SD 卡接口 ◆ 1 个 PS/2 接口,可外接鼠标、键盘 ◆ 1 组 5V 电源供应/接入口 ◆ 1 组 3.3V 电源供应/接入口 ◆ 1 个启动模式选择配置接口 ◆ 1 个 2.4G 无线通信接口 ◆ 1 个 RTC 后备电池座,并带电池 ◆ 1 个复位按钮,可用于复位 MCU 和 LCD ◆ 3 个功能按钮,其中 WK_UP 兼具唤醒功能 ◆ 1 个电源开关,控制整个板的电源 ◆ 3.3V 与 5V 电源 TVS 保护,有效防止烧坏芯片。 ◆ 独创的一键下载功能 ◆ 除晶振占用的 IO 口外,其余所有 IO 口全部引出,其中 GPIOA 和 GPIOB 按顺序引 从上面的板载资源可以看出,MiniSTM32 开发板的板载资源是很丰富的,加上灵活的设计, 让您的开发变得更加简单。 ALIENTEK MiniSTM32 V3.0 开发板的特点包括: 1)小巧。整个板子尺寸为 8cm*10cm*2cm(包括液晶,但不计算铜柱的高度)。 2)灵活。板上除晶振外的所有的 IO 口全部引出,特别还有 GPIOA 和 GPIOB 的 IO 口是按 顺序引出的,可以极大的方便大家扩展及使用,另外板载独特的一键下载功能,避免了频 繁设置 B0、B1 带来的麻烦,直接在电脑上一键下载。 3) 资源丰富。板载十多种外设及接口,可以充分挖掘 STM32 的潜质。 4) 质量过硬。沉金 PCB+全新优质元器件+定制全铜镀金排针/排座+电源 TVS 保护,坚若磐 石。 5) 人性化设计。各个接口都有丝印标注,使用起来一目了然;接口位置设计安排合理,方 便顺手。资源搭配合理,物尽其用。 这里我们首先详细介绍 MiniSTM32 开发板的各个部分(图 1.1.1 中的标注部分)的硬件资 源,我们将按逆时针的顺序依次介绍。 1. HS0038 红外接收头 这是开发板板载的标准 38K 红外信号接收头,用于接收红外遥控器的信号,有了它,就可 以用红外遥控器控制这款开发板了,也可以用来做红外解码等其他相关实验。ALIENTEK MiniSTM32 开发板标配了一个红外遥控器,其外观如图 1.2.1.1 所示: 图 1.2.1.1 红外遥控器图片 关于该遥控器的使用,在第二十七章会有详细介绍。 2. DS18B20 预留接口 这是开发板预留的数字温度传感器 DS18B20/DS1820 接口,采用的是镀金的圆孔母座。当 要做 DS18B20 实验的时候,直接插到这个母座上即可,很方便。DS18B20 需自备,插上就可 以用的。同样 ALIENTEK 提供了 DS18B20 的相关例程。 3. USB 串口/串口 1 这是 USB 转串口(P4)同 STM32F103RCT6 的串口 1 进行连接的接口,标号 RXD 和 TXD 是 USB 转串口的 2 个数据口(对 CH340G 来说),而 PA9(TXD)和 PA10(RXD)则是 STM32 的串 口 1 的两个数据口(复用功能下)。他们通过跳线帽对接,就可以和连接在一起了,从而实现 STM32 的程序下载以及串口通信。 设计成 USB 串口,是出于现在电脑上串口正在消失,尤其是笔记本,几乎清一色的没有串 口。所以板载了 USB 串口可以方便大家下载代码和调试。而在板子上并没有直接连接在一起, 则是出于使用方便的考虑。这样设计,你可以把开发板当成一个 USB 转 TTL 串口来使用,从 而和其他板子进行通信,而其他板子的串口,也可以方便地接到我们的开发板上。 4. 两个 LED 灯 这是开发板板载的两个 LED 灯,它们在开发板上的标号为:DS0 和 DS1。DS0 是红色的, DS1 是绿色的,主要是方便大家识别。一般的应用 2 个 LED 足够了,在调试代码的时候,使用 LED 来指示程序状态,是非常不错的一个辅助调试方法。ALIENTEK 开发板几乎每个实例都使 用了 LED 来指示程序的运行状态 这是开发板板载的一个 MiniUSB 头,用于 STM32 与电脑的 USB 通讯(注意不是 USB 转 串口!!,一键下载的时候不是用这个 USB 口!!),此 MiniUSB 头在开发板上的标号为:USB, 用于连接 STM32F103RCT6 自带的 USB,通过此 MiniUSB 头,开发板就可以和电脑进行 USB 通信了。开发板总共板载了 2 个 MiniUSB 头,一个用于接 USB 串口,连接 CH340G 芯片;另 外一个用于 STM32 内带的 USB 连接。 开发板通过 MiniUSB 口供电,板载两个 MiniUSB 头(不共用),主要是考虑了使用的方便 性,以及可以给板子提供更大的电流(两个 USB 都接上)这两个因素。 6. 24C02 EEPROM 这是开发板板载的 2Kbit(256 个字节)EEPROM ,型号为:24C02,用于掉电数据保存。 因为 STM32 内部没有 EEPROM,所开发板外扩了 24C02,用于存储重要数据,也可以用来做 IIC 实验,及其他应用。该芯片直接挂在 STM32 的 IO 口上。 7. JTAG/SWD 这是开发板板载的 20 针标准 JTAG 调试口,在开发板上的标号为:JTAG。该 JTAG 口直 接可以和 ULINK 或者 JLINK 或者 STLINK 等调试器(仿真器)连接,同时由于 STM32 支持 SWD 调试,这个 JTAG 口也可以用 SWD 模式来连接。 用标准的 JTAG 调试,需要占用 5 个 IO 口,很多时候,可能造成 IO 口不够用,而用 SWD 则只需要 2 个 IO 口,大大节约了 IO 数量,但他们达到的效果是一样的。所以调试下载的时候, 强烈建议使用 SWD 模式!!! 8. CH340G 这是开发板板载的 USB 转串口芯片,型号为:CH340G。有了这个芯片,我们就可以实现 USB 转串口,从而能实现 USB 下载代码,串口通信等。 9. USB 转串口接口 这是开发板板载的另外一个 MiniUSB 头(USB_232),用于 USB 连接 CH340G 芯片,从而 实现 USB 转串口,所以串口下载代码的时候,USB 一定是要接在这个口上的。同时,此 MiniUSB 接头也是开发板电源的主要提供口。 10. STM32 启动配置选择 这是开发板板载的启动模式选择开关,在开发板上的标号为:BOOT。STM32 有 BOOT0 (B0)和 BOOT1(B1)两个启动选择引脚,用于选择复位后 STM32 的启动模式,默认 B0, B1都是连接在GND的。作为开发板,这两个是必须的。在开发板上,我们通过跳线帽选择STM32 的启动模式。关于启动模式的说明,请看 2.1.1 节。 11. 电源指示灯 这是开发板板载的一颗蓝色的 LED,用于指示电源状态,在开发板上的标号为:PWR。在 电源开启的时候(通过板上的电源开关控制),该灯会亮,否则不亮。通过这个 LED,可以判 断开发板的上电情况,开发板必须在上电的条件下(电源灯亮),才可以正常使用。 12. 复位按键 这是开发板板载的复位按键,用于复位 STM32,同时还具有复位液晶的功能,因为液晶模 块的复位引脚和 STM32 的复位引脚是连接在一起的,此按键在开发板上的标号为:RESET。 当按下该键的时候,STM32 和液晶一并被复位。 13. WK_UP 按键 这是开发板板载的一个唤醒按键,该按键连接到 STM32 的 WAKE_UP(PA0)引脚,可用 于待机模式下的唤醒,在不使用唤醒功能的时候,也可以做为普通按键输入使用,此按键在开 发板上的标号为:WK_UP。 14. 两个普通按键 这是开发板板载的两个普通按键,可以用于人机交互的输入,这两个按键是直接连接在 STM32 的 IO 口上的,两个按键在开发板上的标号分别为:KEY0、KEY1。 15. 电源芯片 这是开发板的电源稳压芯片,型号为:AMS1117-3.3。因为 STM32 是 3.3V 供电的,所以 我们需要将 USB 的 5V 电压转换为 3.3V,这个芯片就是将 5V 转换为 3.3V 的线性稳压芯片。 16. 电源开关 这是开发板板载的电源开关,此开关在开发板上的标号为:K1,并标有 ON/OFF 丝印。该 开关用于控制整个开发板的供电,如果切断,则整个开发板都将断电,电源指示灯(PWR)会 随着此开关的状态而亮灭。 17. PS2 鼠标/键盘接口 这是开发板板载的一个标准 PS/2 接头,用于连接电脑鼠标和键盘等 PS/2 设备,在开发板 上的标号为:PS/2。通过该接口,我们仅需要 2 个 IO 口,就可以扩展一个键盘,所以大家不必 要对板上只有3 个按键而感到担忧。ALIENTEK 提供了标准的鼠标驱动例程,方便大家学习 PS/2 协议。 18. 3.3V 电源输出/输入 这是开发板板载的一组 3.3V 电源输入输出排针(2*3),在开发板上的标号为:VOUT1。 该排针用于给外部提供 3.3V 的电源,也可以用于从外部取 3.3V 的电源给板子供电。大家在实 验的时候可能经常会为没有 3.3V 电源而苦恼不已,ALIENTEK 充分考虑到了大家需求,有了 这组 3.3V 排针,您就可以很方便的拥有一个简单的 3.3V 电源(最大电流不能超过 500ma),另 外板载了 3.3V TVS 管,能有效吸收高压脉冲,防止外接设备/电源可能对开发板造成的损坏。 19. 5V 电源输出/输入 这是开发板板载的一组 5V 电源输入输出排针(2*3),在开发板上的标号为:VOUT2,用 于给外部提供 5V 的电源,也可以用于从外部取 5V 的电源给板子供电。同样大家在实验的时候 可能经常会为没有 5V 电源而苦恼不已,有了 ALIENTEK MiniSTM32 开发板,您就可以很方便 的拥有一个简单的 5V 电源(最大电流不能超过 500ma),另外板载了 5V TVS 管,能有效吸收 高压脉冲,防止外接设备/电源可能对开发板造成的损坏。 20. GPIOC&D 引出 IO 口 这是开发板板载的 GPIOC 与 GPIOD 等 IO 口的引出排针,在开发板上的标号为:P5。我 们可以用这些引出的 IO 口来连接外部模块,方便大家外接其他模块。 21. SD 卡接口 这是开发板板载的 SD 卡接口。SD 卡作最常见的存储设备之一,是很多数码设备的存储媒 介,比如数码相框、数码相机、MP5、手机、平板电脑等。我们的开发板自带了 SD 卡接口(大 卡),可以用于 SD 卡实验,方便大家学习 SD 卡,TF 卡通过转接座也可以很方便的接到我们的 开发板上。 有了它,开发板就相当于拥有了一个大容量的外部存储器,不但可以用来提供数据,也可 以用来存储数据,使得这款开发板可以完成更多的功能。 这里要特别说明一下:该 SD 卡卡座是在开发板的背面! 22. W25Q64 64M FLASH 这是开发板板载的一颗 FLASH 芯片,型号为 W25Q64。这颗芯片的容量为 64M bit,也就 是 8M 字节。有了这颗芯片,我们就可以存储一些不常修改的数据到里面,比如字库等,从而 大大节省对 STM32 内部 FLASH 的占用。关于该芯片的使用见 SPI 实验这个章节。 23. NRF24L01 模块接口 这是开发板板载的 NRF24L01 模块接口,只要插入 NRF24L01 无线模块,我们便可以实现 无线通信功能。但是提醒大家:NRF24L01 通信,至少需要 2 个模块和 2 个开发板同时工作才 可以。如果只有 1 个开发板或 1 个模块,是没法实现无线通信的。 24. GPIOB&C 引出 IO 口 这是开发板板载的 GPIOB 与 GPIOC 的引出口,该接口用于将 STM32 的 GPIOB 和部分的 GPIOC 引出,方便大家的使用,在开发板上的标号为:P1。这里 GPIOB 全部使用顺序引出的 方式,尤其适合外部总线型器件的接入。 25. STM32F103RCT6 这是开发板的核心芯片,从 3.0 版本开始,升级到 RCT6,详细型号为:STM32F103RCT6。 该芯片具有 48K SRAM、256K FLASH、2 个 16 位基本定时器、4 个 16 位通用定时器、2 个 16 位高级定时器、2 个 DMA 控制器、3 个 SPI、2 个 IIC、5 个串口、1 个 USB、1 个 CAN、3 个 12 位 ADC、1 个 12 位 DAC、1 个 SDIO 接口、51 个通用 IO 口。 26. OLED&LCD 共用接口 这是 ALIENTEK 开发板的特色设计,一个接口,兼容两种模块。在此部分,LCD 的部分 IO 和 OLED 的 IO 共用,具体请参看后面的开发板原理图。这样我们一个接口既可以接 LCD 模块,又可以接 OLED 模块。OLED 模块使用的是 ALIENTEK 的 OLED 模块,分辨率为 128*64, 模块大小为 2.6cm*2.7cm。而 LCD 模块,则可以使用 ALIENTEK 全系列的 TFTLCD 模块,包 括:2.4 寸(电阻屏,240*320)、2.8 寸(电阻屏,240*320)、3.5 寸(电阻屏,320*480)、4.3 寸(电容屏,800*480)、7 寸(电容屏,800*480)。 这里特别提醒:在使用的时候,OLED 模块是靠左插的,而 LCD 模块,则是靠右插,在后 续章节我们将分别介绍 OLED 模块和 LCD 模块的使用。 27. GPIOA 引出 IO 口 这是开发板 GPIOA 的引出排针,在开发板上的标号为 P3。ALIENTEK 开发板将所有的 IO 口(除了 2 个晶振占用的 4 个 IO 口)都用排针引出来了,而且 GPIOA 和 GPIOB 是按顺序引 出的。按顺序引出,在很多时候能方便大家的实验和测试,比如外接带并行控制的器件,有了 并行引出的排针,那么就可以很方便的通过这些排针连接到外部设备了。 将开发板的 IO 口全部排针引出,大家就可以用来外接其他模块等,不论调试还是功能扩 展都是很方便的。 28. 红外&温度传感器连接口 这是开发板板载的红外与温度传感器的连接接口,开发板虽然自带了红外接收头和 DS18B20 的接口,但是并没有将这两个器件直接挂在 IO 口上,而是通过跳线帽来连接,以防 止在不使用这两器件的时候,他们对 IO 口的干扰,当然我们也可以用跳线,把 DS18B20 和红 外遥控接收模块接到其他电路上使用。 1.2.2 软件资源说明 上面我们详细介绍了 ALIENTEK MiniSTM32 开发板的硬件资源。接下来,我们将向大家 简要介绍一下开发板的软件资源。 MiniSTM32 开发板提供的标准例程多达 38 个,一般的 STM32 开发板仅提供库函数代码, 而我们则提供寄存器和库函数两个版本的代码(本手册以寄存器版本例程作为介绍)。我们提供 的这些例程,基本都是原创,拥有非常详细的注释,代码风格统一、循序渐进,非常适合初学 者入门。而其他开发板的例程,大都是来自 ST 库函数的直接修改,注释也比较少,对初学者 来说不那么容易入门。 MiniSTM32 开发板的例程列表如表 1.2.2.1 所示: 表 1.2.2.1 ALIENTEK MiniSTM32 开发板例程表 从上表可以看出,ALIENTEK MiniSTM32 开发板的例程基本上涵盖了 STM32F103RCT6 的所有内部资源,并且外扩展了很多有价值的例程,比如:FLASH 模拟 EEPROM 实验、内存 管理实验、FATFS 实验、IAP 实验、综合实验等。 而且从上表可以看出,例程安排是循序渐进的,首先从最基础的跑马灯开始,然后一步步 深入,从简单到复杂,有利于大家的学习和掌握。所以,ALIENTEK MiniSTM32 开发板是非常 适合初学者的。当然,对于想深入了解 STM32 内部资源的朋友,ALIENTEK MiniSTM32 开发 板也绝对是一个不错的选择。 这里特别说明一下综合实验,这个实验使得ALIENTEK MiniSTM32开发板更像一个产品, 而不单单是一个开发板了,它采用 ALIENTEK 自己编写的 GUI 系统,自动兼容各种分辨率 (320*240/480*320/800*480)的屏幕,支持电阻和电容触摸屏,可玩性高。该实验集成了文件 系统(读&写)、图片显示、T9 拼音输入法、手写识别、多国语言切换、记事本和 USB 连接等 高级功能,具有极高的参考价值。 1.2.3 MiniSTM32 V3 IO 引脚分配 为了让大家更快更好的使用我们的 MiniSTM32 V3 开发板,这里特地将 MiniSTM32 V3 开 发板主芯片:STM32F103RCT6 的 IO 资源分配做了一个总表,以便大家查阅。MiniSTM32 V3 的 IO 引脚分配总表如表:1.2.3.1 所示: 表 1.2.3.1 MiniSTM32 V3 IO 资源分配总表 表 1.2.3.1 中,引脚栏即 STM32F103RCT6 的引脚编号;GPIO 栏则表示 GPIO;连接资源栏 表示了对应 GPIO 所连接到的网络;独立栏,表示该 IO 是否可以完全独立(不接其他任何外设 和上下拉电阻)使用,通过一定的方法,可以达到完全独立使用该 IO,Y 表示可做独立 IO,N 表示不可做独立 IO;连接关系栏,则对每个 IO 的连接做了简单的介绍。 该表在:光盘→3,ALIENTEK MiniSTM32 开发板原理图 文件夹下有提供 Excel 格式,并 注有详细说明和使用建议,大家可以打开该表格的 Excel 版本,详细查看。 1.3 ALIENTEK MiniSTM32 V3.0 开发板升级说明 ALIENTEK MiniSTM32 V3.0 开发板相对于过往版本,主要变化如表 1.3.1 所示: 表 1.3.1 V3.0 版本 VS 过往版本硬件变更表 从表 1.3.1 可以看出,前面四项,是硬件升级,后面 3 项是线路变更。 硬件升级方面:CPU 采用更多资源的 STM32F103RCT6,相比 RBT6,资源多了不少,集成度 更高,功能更强。USB 转串口芯片改为采用与战舰 STM32 开发板相同的 CH340G,更稳定,不容 易出现兼容性问题。SPI FLASH 芯片同样改为采用与战舰 STM32 开发板相同的 W25Q64,容量是 W25Q16 的 4 倍,可以存储更多内容。另外,V3.0 版本去掉了不常用的 JF24C/D 模块接口。 线路变更方面,做了三项改变:PA1 原来是连接 JF24_FIFO 信号的,V3.0 改为连接 NRF_IRQ 信号。PC5 原来是用来连接 NRF_IRQ 信号,V3.0 改为连接 KEY0/PS_DAT 信号。而 PA13 原来是连 接 KEY0/PS_DAT 信号的,V3.0 改为不连接任何外设(仅作 JTMS/SWDIO 信号)。经过这样的变更 以后,PA13(SWDIO)空出来了,所以 V3.0 开发板便可以支持所有例程 SWD 在线仿真了,原来 的版本存在有按键的例程,就不能仿真这样的缺陷,在 V3.0 上面,这个缺陷得到了圆满解决 |
|
相关推荐
|
|
795 浏览 0 评论
4743 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2605 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2949 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
31683 浏览 11 评论
73061 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 06:06 , Processed in 0.523587 second(s), Total 66, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号