STM32(二)STM32F103RCT6板载资源介绍

大家好,今天我跟大家分享一下STM32F103RCT6的板载资源,希望对初学STM32的同学有所启示。当然,本人也是一名初学者,如果有谈论不妥之处,还望您能够批评指正,不吝赐教,本人将非常感激。如果有什么问题,欢迎您到http://www.openedv.com/进行提问与讨论。最后祝您学业有成,工作顺利。

 一、MCU

 ALIENTEK MiniSTM32 V3 版开发板选择的是 STM32F103RCT6 作为 MCU,它拥有的资源包括:48KB SRAM、256KB FLASH、2 个基本定时器、4 个通用定时器、2 个高级定时器、2个 DMA 控制器(共 12 个通道)、3 个 SPI、2 个 IIC、5 个串口、1 个 USB、1 个 CAN、3 个 12位 ADC、1 个 12 位 DAC、1 个 SDIO 接口及 51 个通用 IO 口。该芯片性价比极高,MCU 部分的原理图如下图所示:

上图中中上部的 BOOT1 用于设置 STM32 的启动方式,其对应启动模式如下表所示:

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

 二、EEPROM

 ALIENTEK MiniSTM32 开发板自带了 24C02 这颗 EEPROM 芯片,该芯片的容量为 2Kbit,也就是 256 个字节,其原理图如下:

 把 A0~A2 均接地,对 24C02 来说也就是把地址位设置成了 0 了,写程序的时候要注意这点。IIC_SCL 接在 MCU 的 PC12 上,IIC_SDA 接在 MCU的PC11 上。这里我没有接到 STM32 内部的 IIC 上,如果你想在开发板上使用硬件 IIC,那么也是可以的,你只需要设置 PC11 和 PC12 为浮空输入,然后把 PB10和 PB11 (IIC2)或者 PB6 和 PB7(IIC1)通过飞线连接到 PC11 和 PC12 上就可以使用硬件 IIC 了。

 三、按键 

 ALIENTEK MiniSTM32 开发板总共有 3 个按键,其原理图如下:

 WK_UP 按键连接到 PA0(STM32 的 WKUP 引脚),它除了可以用作普通输入按键外,还可以用作 STM32 的唤醒输入。该按键是高电平触发的。由于 PA0 还是 DS18B20 的输入引脚,而18B20 是有上拉电阻的,所以在使用 WK_UP 按键的时候,请 一定要断开 PA0 和 和 DS18B20 的跳线帽。

 KEY0 和 KEY1 用作普通按键输入,分别连接在 PC5 和 PA15 上。 

 四、LED 

 ALIENTEK MiniSTM32 开发板上总共有 3 个 LED,其原理图如下: 

其中 PWR 是开发板电源指示灯,为蓝色。LED0 和 LED1 分别接在 PA8 和 PD2 上,PA8还可以通过 TIM1 的通道 1 的 PWM 输出来控制 DS0 的亮度。DS0 为红色,DS1 为绿色。绿灯不能实现呼吸灯。

 五、SPI FLASH

  ALIENTEK MiniSTM32 开发板载有 SPI FLASH 芯片 W25Q64,该芯片的容量为 8M 字节,其原理图如下:

六、USB  串口、USB 、电源

 ALIENTEK MiniSTM32 开发板板载了 USB 串口,并且由 USB 提供电源,使得我们只需要一根 USB 线就可以使用 ALIENTEK MiniSTM32 开发板了,包括串口下载代码、供电、串口通信 3 位一体。开发板的供电部分还引出了 5V(VOUT2)和 3.3V(VOUT1)的排针,可以用来为外部设备提供电源或者从外部引入电源。这在很多时候是非常有用的,有时候你突然要一个 3.3V 的电源,但找半天就是没这样的电源,而板子则可直接向外部提供 3.3V 电源,有了它,你就可以给外部设备提供 3.3V、5V 电源了。开发板的 USB 接口(USB)通过独立的 Mini USB 头引出,不和 USB 转串口(USB_232)共用,这样不但可以同时使用,还可以给系统提供更大的电流。
 这几个部分的原理图如下:

 图中的 Q1 和 Q2 外加几个电阻和一个二极管就构成了开发板的一键下载电路,此电路通过RST 和 DTR 信号来控制 BOOT0 和 RESET 信号,从而实现一键下载的功能。一键下载电路的具体实现过程:首先,mcuisp 控制 DTR 输出低电平,则 DTR_N 输出高,然后 RTS 置高,则 RTS_N 输出低,这样 Q2 导通了,BOOT0 被拉高,即实现设置 BOOT0 为 1,同时 Q1 也会导通,STM32 的复位脚被拉低,实现复位。然后,延时 100ms 后,mcuisp 控制DTR 为高电平,则 DTR_N 输出低电平,RTS 维持高电平,则 RTS_N 继续为低电平,此时 STM32的复位引脚,由于 Q1 不再导通,变为高电平,STM32 结束复位,但是 BOOT0 还是维持为 1,从而进入 ISP 模式,接着 mcuisp 就可以开始连接 STM32,下载代码了,从而实现一键下载。另外,此部分还有一个开关 K1,用来控制整个系统的供电,如果断开则整个系统的 3.3V部分都将断电。而 5V 部分的电源还是开启的。图中 F1 为可恢复保险丝,用于保护 USB。图中的 D4 和D5 这两个 TVS 管,用于保护开发板,防止外部高压脉冲/静电损坏开发板上的元器件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/20129.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32F103RCT6——定时器简单用法

STM32F10xx参考手册英文和中文版 百度网盘:https://pan.baidu.com/s/1Z2nB0WVJIxvm3VOI9MQiiw 提取码:lxlx STM32F103RCT6数据手册 链接:https://pan.baidu.com/s/1tRchgf-5C1MN4W58vQ9zPg 提取码:lxlx 定时器分类 STM32F103RCT6…

STM32F103RCT6 介绍

1、STM32F103RCT6 命名含义 ST:意法半导体公司 M:MCU 32:32位单片机 F:通用型单片机 103:产品系列号码 R: 芯片有64个引脚 C:256Kb flash T:LQFP封装 6:芯片工作温度 -40℃…

学STM32(STM32F103RCT6)

系列文章目录 第一章 了解STM32 文章目录 系列文章目录前言一、STM32基本系统1.STM32基本(最小)系统板2.使用STM32为核心器件的基本(最小)系统构成单元 二、主控制器(CPU)1.STM32F103RCT6微控制器参数2.ST…

简单:Windows中的文本与Linux中CentOS的vim编辑器相互复制粘贴方法

简单:Windows中的文本与Linux中vim编辑器中的文本相互复制粘贴的方法 1.从Windows下到vim中: 1,选中windows中文档内容按Ctrlc。 2,进入vi编辑器,在插入模式下,用鼠标点击右键再点击粘贴。 3&#xff0…

linux中vim命令详解(操作大全)

光标的移动 1.用h, j,k,l 来表示光标的移动 vim的金如何退出 2.如何退出vim编辑器操作行 先打出esc推出选项然后shift冒号 ,然后输入q!就可以了 3.如果想进虚拟机中编辑器看操作的话,需要输入vimtutor命令就可以进入vim虚拟器教程了 vim的编辑 4.x代…

Vim的配置 和 windows与Linux之间的复制粘贴

# 在Linux下编程对vim的简单配置,便于编程! 在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号、语法高亮度显示、智能缩进 等功能的。为了更好的在vim下进行工作,需要手动设置一个配置文件&#xff1…

如何将剪贴板中的内容复制到linux的vim中

1.按i进入insert模式 2.使用shiftinsert键,即可将你在windows系统中复制的内容粘贴到linux系统中

如何修改linux下的vim复制行数限制

vim-如何修改linux下的vim复制行数限制 来自北方的小强 正在努力成为资深数字IC搬砖工的搬砖工 个人根目录下的.vimrc (~/.vimrc)添加如下内容: set viminfo1000,<600 linux下&#xff0c;默认最多复制50行&#xff0c;上述修改即将限制改为600行。 注意&#xff1a; 1 如果…

Linux vim多行操作

同时注释多行 首先&#xff0c;将光标放在要注释的行首&#xff0c;然后按CTRLV进入列(也叫区块)模式&#xff1b;在行首使用上下键选择要注释的多行&#xff1b;用大写“I”(shifti)进入插入模式&#xff1b;然后输入注释符#(任一符号、字母、数字都可以插入)&#xff1b;最后…

【每日一题】缓存穿透、缓存击穿、缓存雪崩及解决方案

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 当下ChatGPT很火&#xff0c;让人心痒痒想试一试好不好用&#xff0c;因此我就试着借它写一篇文章&#xff0c;但是试了几次最终还是没有…

只需这一篇博客就能完全弄懂LSM树

早期LSM树 为什么需要LSM树 B树的数据都存储在叶子节点中&#xff0c;而叶子节点一般都存储在磁盘中。因此&#xff0c;每次插入的新数据都需要随机写入磁盘&#xff0c;而随机写入的性能非常慢。如果是一个日志系统&#xff0c;每秒钟要写入上千条甚至上万条数据&#xff0c…

数据库/MySQL - 深入探究 - 1

1.应用场景 主要用于了解和掌握数据库/MySQL - 更新操作详细流程。 2.学习/操作 1.文档阅读 主要来自于AI的对话【geek chat&#xff0c; chatgpt】 以及官方文档资料&#xff0c;以及其他技术文章&#xff0c;专栏等。 2.整理输出 抛出问题&#xff1a; 数据库【这里以mysql…

EMQX在Windows系统下的开机自启与异常自动重启脚本

目录 0.前言 1.介绍 2.运行与停止 2.1 运行批处理程序 2.2 停止批处理程序 2.3 开机自启动 3.运行结果 4.详细介绍 5.前台运行版本 0.前言 由于为某万年老项目做运维&#xff0c;但源码遗失以及项目遗留问题导致emqx经常崩溃&#xff0c;故无法追根溯源&#xff0c;迫于…

量化工具使用介绍——Tushare

Tushare ID:497485 今年年初的时候&#xff0c;我和几位小伙伴一起合作打花旗杯&#xff0c;项目和量化交易有关。不可避免地会使用到一些常规的量化工具&#xff08;尤其是python的第三方库&#xff09;&#xff0c;虽然决赛还没有开始&#xff0c;我们已经确定进入了二十强。…

BigQuant策略做量化真的能赚钱吗?

BigQuant策略做量化可以赚钱&#xff0c;但是是建立在一些前提条件基础之上的。量化策略本身存在的意义就是通过数量化模型建立科学投资体系&#xff0c;获取稳定收益&#xff0c;相比传统投资&#xff0c;其具备纪律性、系统性、及时性、准确性等诸多优势&#xff0c;所以一个…

自己做量化交易软件(45)小白量化实战18--直接使用通达信自编指标公式进行分析绘图和回测

自己做量化交易软件(45)小白量化实战18–直接使用通达信自编指标公式进行分析绘图和回测 小白量化一代提供了Python公式算法模式来写量化程序。 小白量化二代提供了仿通达信公式的模式来写量化程序。 小白量化三代除了仿通达信公式的模式来写量化程序外&#xff08;见前几篇博客…

自己做量化交易软件(16)用小白通通量化AI框架打造自己的量化平台

最近一段时间&#xff0c;我主要学习python3和tkinter的窗口开发&#xff0c;对tkinter编程逐步了解。 此外&#xff0c;应广大朋友要求&#xff0c;我写了 一本学习python3学习书籍<小白学Python3实战搭建量化投资平台>. <小白学Python3实战搭建量化投资平台>内容…

Chat GPT是什么,初学者怎么使用Chat GPT,需要注意些什么

目录 Chat GPT是什么 初学者怎么使用Chat GPT 使用Chat GPT需要注意什么 一些简单的prompt示例 Chat GPT是什么 Chat GPT是由OpenAI开发的一种大型语言模型&#xff0c;它基于GPT&#xff08;Generative Pre-trained Transformer&#xff09;架构。GPT是一种基于深度学习的…

从GPT到chatGPT(一):GPT1

GPT1 文章目录 GPT1前言正文模型架构无监督学习有监督学习处理不同特定任务 实验训练细节实验结果 分析预训练层参数转移的影响zero-shot的表现消融实验 总结 前言 GPT1&#xff0c;出自于OpenAI的论文《Improving Language Understanding by Generative Pre-Training》&#…