你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验之谈】基于认识STM32的经验分享

[复制链接]
STMCU小助手 发布时间:2022-12-8 16:00

第一篇 认识STM32
" g1 ~( }" y* `* F$ F5 L7 GSTM32开发板的资源# j8 T6 P2 a. N7 E& v3 w; Z
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 的刷屏速度。


3 V$ \1 @3 i* T8 w( j% @

MCU部分芯片原理图

  I2 s' m; B  ?3 e1 n) X

1.IO口

% Z8 t8 _' m8 s+ p7 ?6 l

STM32F103ZET6的主IO口有两组为P1和P2,这两组共有106个IO口,ZET6的总IO口有112个,RTC晶振占用了其中两个IO口,其余4个口分别由P3和P5两组引出


3 ]$ j/ \: S3 }4 }0 |6 j

  w# z- v# w6 K

2.USB 串口/串口1选择接口


- a. w( Y1 U9 b$ i, |

STM32F103板载的USB 串口和STM32F103ZET6的串口是通过P3 连接起来的,与CH340G的连接是TXD/RXD,也就是串口通信的接、发引脚;USART1_RX和USART_TX是和ZET6相连的,通过相连就可以实现USB和ZET6的串口通信,同时PA9和PA10也是IO口


1 P8 ]& S# A$ a* P

0 I9 N3 ?1 W8 q: i

3.JTAG/SWD

! {$ a4 t5 n9 b& G/ W4 ^+ i* P
STM32有两个接口JTAG和SWD,一般情况我们会选SWD模式,在SWD模式下只需要一根线就可以把代码下载调试,这和我们平时使用的串口下载一样,且速度很快,SWD和JTAG的接口是共用,所以接上JTAG也可以使用SWD模式,JTAG 有几个信号线用来接其他外设了,但是 SWD 是完全没有接任何其他外设的,所以在使用的时候,最好选择SWD模式
0 _- d  s7 j( l

0 _& X( ]7 \2 I9 I+ t

4.LCD模块

2 g# c# i1 s0 |6 x% n8 j

TFT_LCD 是一个通用的液晶模块接口,LCD 接口连接在 STM32F103ZET6的 FSMC 总线上面,可以显著提高 LCD 的刷屏速度。T_MISO/T_MOSI/T_PEN/T_SCK/T_CS 连接在 MCU 的 PB2/PF9/PF10/PB1/PF11 上,这些信号用来实现对液晶触摸屏的控制(支持电阻屏和电容屏)。LCD_BL 连接在 MCU 的 PB0上,用于控制 LCD 的背光。液晶复位信号 RESET 则是直接连接在开发板的复位按钮上,和MCU 共用一个复位电路。

& Z0 k* @: a/ e& t$ U


( C! z( W$ ?+ M. ]* A

5.复位电路

" {7 k& R' V4 Y3 d/ V

因为 STM32 是低电平复位的,所以ZET6的电路也是低电平复位的,这里的 R2 和 C10构成了上电复位电路。同时,开发板把 TFT_LCD 的复位引脚也接在 RESET 上,这样这个复位按钮不仅可以用来复位 MCU,还可以复位 LCD。


6 e; O: o, a7 f' p: R

6.光敏传感器

" S; X* K' z: t) n* J* K

图中的 LS1 就是光敏传感器,其实就是一个光敏二极管,周围环境越亮,电流越大,反之电流越小,即可等效为一个电阻,环境越亮阻值越小,反之越大,从而通过读取 LIGHT_SENSOR的电压,即可知道周围环境光线强弱。LIGHT_SENSOR 连接在 MCU 的 ADC3_IN6上面,即 PF8 引脚。

7 v% H' q8 `: c" i: s/ b" S& o

7.温湿度传感器接口


  E$ Y5 G1 ^$ V

U4接口支持 DS18B20/DS1820/DHT11 等单总线数字温湿度传感器。1WIRE_DQ 是传感器的数据线,该信号连接在 MCU 的 PG11 上。


* _. r/ }8 P# X( [: c

6 m3 k5 |* E, Y( J- \

8.LED


2 u, E- r1 y1 m

其中 PWR 是系统电源指示灯,为蓝色。LED0和 LED1分别接在 PB5 和 PE5 上。

* [  u6 f  ?1 V

$ O, K: `  M$ I  e4 w; ]5 g

9.按键


4 g  F7 m: D; C# l

KEY0 和 KEY1 用作普通按键输入,分别连接在 PE4 和 PE3 上,这里并没有使用外部上拉电阻,但是 STM32 的 IO 作为输入的时候,可以设置上下拉电阻,可以使用 STM32 的内部上拉电阻来为按键提供上拉。KEY_UP 按键连接到 PA0,它除了可以用作普通输入按键外,还可以用作 STM32 的唤醒输入。注意:这个按键是高电平触发的。

. q+ k" q8 t: [

10.蜂鸣器


+ r! C/ b9 t* _( C* K' i

STM32F103里使用的是有源蜂鸣器,它指自带了震荡电路的蜂鸣器,这种蜂鸣器一接上电就会自己震荡发声。Q1 是用来扩流,R33 则是一个下拉电阻,避免 MCU 复位的时候,蜂鸣器可能发声的现象。BEEP 信号直接连接在 MCU 的 PB8 上面,PB8 可以做 PWM 输出,所以如果想要控制蜂鸣器“唱歌”,就可以使用 PWM 来控制蜂鸣器。

9 k. g9 u9 D7 W" Y

以上几个模块是刚学习STM32会常用的几个模块的介绍,对于学习32来说,其实并不算难,如果学习过51单片机的人来学习32会更容易上手一些。

作者:hah1

  X* [( T, c% f8 P- M) J) B

3 G! t0 R! O/ L9 x$ E, A/ b
赞 收藏 评论0 发布时间:2022-12-8 16:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版