STM32入门100步

目录

1、C8T6引脚图

2、电路基础

1、IO口静态特性:

2、 上下拉电阻

3、STM32官网:

4、内核与存储器

5、时钟、复位和电源管理

6、低功耗和ADC

7、DMA和IO端口

8、调试模式和定时器

9、看门狗和滴答定时器

10、I2C和USART接口

11、SPI、CAN、USB接口

12、CRC校验和芯片ID

13、最小系统电路

14、如何烧录程序:

15、舵机

1、PWM

16、中断

17、步进电机

 18、I2C总线

 19、定时器功能


1、C8T6引脚图

2、电路基础

电源分正负极(不用区分大小写)

正极表示:Vcc,,Vdd,+,3.3V,5V等。

负极表示:Vss,GND,-,0V,

高低电平

高电平是1

低电平是0

TTL电平(单片机采用):小于0.4V是低电平;大于2.4V是高电平(STM32单片机2.0V~3.3V ,大于2.0V是高电平,低于0.4V是低电平),更加稳定。

CMOS电平:更接近于3~15V高电平;更接近于0V低电平        

输出电平

高电平表示:3.3V,H,高电平

低电平表示:0V,L,低电平

1、IO口静态特性

几乎所有的单片机周边芯片都是TTL电平

LED亮灯

用推挽输出驱动

GPIO输出电流:

GPIO吸收电流 :

线路

断路:本应该连接的断开了

短路:应该断开的连接了

短路-->如果电源正负极则电阻小电流大,会损坏电源

短路-->如果是几条数据线会导致线上电平混乱

2、 上下拉电阻

上拉:接到一个电源正极的电阻

下拉:接到一个 电源负极的电阻

下拉电阻:

下图按下唤醒键接通VCC电源,输入高电平,达到唤醒的效果,那么平时就需要低电平的状态,我们用一个电阻接地,由于电阻较大,那么就会提供 一个弱弱的的低电平,就会保持一个低电平的状态。按下按键后,直接接通VCC电源,下拉电阻那里提供的低电平很小,就可以忽略不计了。


 RAM:32位处理器

3、STM32官网:

STM32F103 | 产品 | STM32/STM8 | MCU单片机 | 意法半导体STM | STMCU中文官网https://www.stmcu.com.cn/index.php/Product/pro_detail/cat_code/STM32F103/family/81/sub_family/124/sub_child_family/142/layout/product

STM32F103VET6: ST(公司名) M(微控制器) 32(32位微控制器) F(通用类型)

类型:F(通用) S(简单) L(低功耗) H(高性能)

103子系列:0-精简 1、2、3-增强 4、7-高性能 00、01、02、03、05、07(子型号)

引脚数:C-48 R-64 V-100 Z-144 A-168 I-176 B-208 N-216

存储量:6-32K 8-64K B-128K C-256K D-384K E-512K G-1MB I-2MB

封装:H-BGA封装 T-LQFP封装 Y-WLCS64封装

工作温度:6(-40~85°C ) 8-(-40~105°C)

选项:xxx-已编程的器件代号 TR-卷带式包装


4、内核与存储器

SRAM:静态随机存储器 类型:RAM  存储运行中的数据 读写无延迟速度快,断电数据消失,可以写入无限次,没有写入条件,成本,容量

FLASH:闪存程序存储器 类型:ROM 存储用户程序 读写有延迟速度慢,断电数据保存,可以写入10万次,需要先清楚再写入,成本,容量


5、时钟、复位和电源管理

2.0~3.6V供电:一般用3.3V

PLL:分频器

RTC:实时时钟(计时等效果)

时钟:

 HSI:H-高速 S-晶振 I-內部

HSE:H-高速 S-晶振 E-外部

LSE:L-低速 S-晶振 E-内部

LSI:L-低速 S-晶振 I-外部


6、低功耗和ADC

低功耗

 ADC:模拟/数字转换器        

采集模拟电路数据


7、DMA和IO端口

DMA:解决CPU多任务的问题

GPIO:通用输入输出接口 --多数GPIO都与数字或模拟的复用外设共用。同时所有的GPIO都有大电流通过能力。

在需要的情况下,I/O引脚的外设功能可以通过一个特定的操作锁定,以免意外的写入I/O寄存器。

APB2上的I/O脚可达18MHZ翻转速度(高低电平转换)

GPIO_Mode_AIN 模拟输入 :用于ADC模拟输入,高阻,本身没有电流电压

GPIO_Mode_IN_FLOATING 浮空输入 :不加电阻

GPIO_Mode_IPD 下拉输入:下拉电阻

GPIO_Mode_IPU 上拉输入 :上拉电阻

GPIO_Mode_Out_PP 推挽输出 : 有驱动电流的输出

GPIO_Mode_Out_OD 开漏输出 : 没有很强的驱动电流输出,只是一个电平信号

GPIO_Mode_AF_PP 复用推挽输出 :

GPIO_Mode_AF_OD 复用开漏输出


8、调试模式和定时器

调试模式

- 串行单线调试(SWD)和JTAG接口

SWD:只需要两条线就可以完成调试

JATG: 需要更多的资源才可以

定时器

普通定时器:

TIM2、TIM3、TIM4定时器:每一个定时器都有一个16位的自动加载递加/递减计数器、一个16位的、预分频器四个独立的通道,每个通道都可用于输入捕获、输出比较、PWM和单脉冲波模式输出,在大的封装配置中可提供12个输入捕获、输出比较或PWM通道。

任意标准定时器都能产生PWM输出。每个定时器都有独立的DMA 请求机制。

高级定时器:

TIM1定时器:可以看作是6通道的三相PWM发生器


9、看门狗和滴答定时器

看门狗

两个看门狗(独立的和窗口型的):检测单片机,如果单片机出现错误,就会进行复位。

本质就是定时器,每隔一段时间就需要给看门狗喂骨头(复位),即定时器清零,让狗继续啃骨头,如果单片机程序跑起来出错,不能定时给看门狗喂骨头,狗就会叫,单片机就会复位。

独立看门狗(LWDG):基于一个12位的递减计数器和一个8位的预分频器,它由一个内部独立的40KHz        的RC振荡器提供时钟;因为这个RC振荡器独立于主时钟,可以运行于停机和待机模式。(给出复位信号)

可以作为复位的定时器,也可以作为普通的自由定时器。

窗口看门狗(WWDG):有一个7位递减型计数器,可以设置为自由运行。由主时钟驱动(给出中断/复位信号)

滴答定时器

滴答定时器:专用于实时操作系统,也可当作一个标准的递减计数器。

24位的递减计数器

自动重加载功能

当计数器为0时能产生一个可屏蔽系统中断

可编程时钟

10、I2C和USART接口

I2C总线接口:能够工作于多主模式或从模式,支持标准和快速模式。

每一个I2C从设备有一个地址,所有设备与单片机都需要供公地。      

USART:通用同步/异步收发器

UART:异步收发器

最常用的是异步。

USART只是一种协议方式,根据不同的电平方式分为RS32 和 RS485等。

11、SPI、CAN、USB接口

SPI:两个SPI,有主从模式,可全双工和半双工,最大速度18M/s ,用3个预分频器来设置8种频率,支持SD卡的读写模式,支持DMA。 

特点:通信协议简单稳定,速度快

通过I/O来控制SPI设备开关。

CAN:有一个CAN总线,位速度最高1M/s,11位标识符,29位扩展帧,3个发送邮箱,2个FIFO,3级14个滤波器        

特点:通信速度快,距离远,稳定,自动查错。                                                                        

每一个CAN都可以是主设备

USB:设备控制器,有待机和唤醒功能,时钟必须由外部高速晶振产生。

12、CRC校验和芯片ID

CRC:用于数据正确性的校验,对于要加载的数据进行处理得到一个计算结果,再将这个数据和计算结果一起发送过去,接收端的数据通过CRC再进行处理,再将处理的计算结果和发送端CRC的结果比较,如果两者相同则数据正确,否则数据错误。

96位的芯片唯一代码:24位十六进制数,每一个芯片的编码是唯一的

  • 用来作产品的序列号
  • 用来作为密码,提高安全性
  • 用来保护程序的不可复制性

13、最小系统电路

内核;

存储器;

时钟电路:

复位电路:

电源电路:

14、如何烧录程序:

将电脑的接收/发送端和单片机的发送端/接收端;

RX/RXD:接收端;

TX/TXD:  发送端;

单片机:PA9(发送端),PA10(接受端);

同时需要GND共地;

启动模式的设置:

BOOT0/BOOT1:电平变化组合来决定启动模式

 固件库安装:

 用户程序存放在FLASH中

固件库:底层驱动程序

*STM32的程序编写方式: 

按键:

 蜂鸣器:

 

MIDI音乐 :

USART驱动程序:

FT232可以直接将USB转成USART串口,也可以将USART转成USE串口,可以实现电脑和单片机的直接连接;

5V转TTL电平

USART发送数据:

15、舵机

1、PWM

CNT:计数值

CCRx;设定的值

ARR:溢出值

16、中断

什么是中断?

中断是指一个突发事件,终止了CPU当前的工作,转而处理突发事件,处理完成后,再回到当前的工作继续执行。

STM32允许多种多样的中断,如外部IO、ADC、USART、I2C、RTC、PVD等。

  • STMF1支持所有的GPIO设置为中断输入
  • 外部IO可由上沿、下沿、高低电平的三种方式触发
  • 可选择中断或事件触发

上沿:电平从低电平瞬间变为高电平

下沿:电平从高电平瞬间变为低电平

高低电平:电平从低到高或者从高到低都会产生中断

 NVIC:嵌套向量中断的控制器

EXTI:  外部IO中断事件控制器

 优先级

优先级分组:

17、步进电机

通过高低电平控制磁性:com输入高电平

 18、I2C总线

 19、定时器功能

定时器:

捕获器:

 

 输出 比较器:

  • 92
    点赞
  • 877
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
STM32入门到精通》是一本教导读者如何从零开始学习和掌握STM32微控制器的电子书。这本书旨在为初学者提供一个逐深入的学习路径,帮助他们理解STM32的基本概念和原理,并逐渐培养出对STM32的全面理解和掌握。 这本电子书首先介绍了STM32微控制器的基本特性和应用领域。接着,它详细解释了STM32的内部结构和寄存器,包括CPU、存储器、时钟系统等,以及外设如GPIO、串口、定时器等的使用方法和配置。 然后,这本书引导读者通过编程实例和项目案例来巩固所学知识。读者将学习如何使用STM32的集成开发环境(IDE)进行代码编写、编译和下载。同时,他们还将学习如何运用开发板和外围电路,以及如何使用标准外设库和HAL库来驱动STM32的各种功能和接口。 此外,这本电子书还涵盖了更高级的主题,如中断、DMA、时钟树配置、低功耗设计等。读者将通过更复杂的项目实践,学习如何灵活使用STM32的各种功能和技术,以及如何解决实际应用中遇到的问题。 最后,这本电子书提供了一些实用的建议和技巧,如如何调试和优化STM32程序、如何进行代码测试和验证等。它还引导读者深入了解STM32的相关资源,如官方文档、社区论坛、在线教程等,以不断提升自己的学习和开发能力。 总体而言,《STM32入门到精通》是一本全面系统的教程,适合任何对STM32感兴趣的人,无论是初学者还是有一定经验的开发者。通过逐的学习和实践,读者将能够掌握STM32微控制器的使用方法和技巧,从而成为一名熟练的STM32开发者。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绅士·永

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值