目录
电源分正负极(不用区分大小写)
正极表示: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,低电平
几乎所有的单片机周边芯片都是TTL电平
LED亮灯
用推挽输出驱动
GPIO输出电流:
GPIO吸收电流 :
线路:
断路:本应该连接的断开了
短路:应该断开的连接了
短路-->如果电源正负极则电阻小电流大,会损坏电源
短路-->如果是几条数据线会导致线上电平混乱
上拉:接到一个电源正极的电阻
下拉:接到一个 电源负极的电阻
下拉电阻:
下图按下唤醒键接通VCC电源,输入高电平,达到唤醒的效果,那么平时就需要低电平的状态,我们用一个电阻接地,由于电阻较大,那么就会提供 一个弱弱的的低电平,就会保持一个低电平的状态。按下按键后,直接接通VCC电源,下拉电阻那里提供的低电平很小,就可以忽略不计了。
RAM:32位处理器
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-卷带式包装
SRAM:静态随机存储器 类型:RAM 存储运行中的数据 读写无延迟速度快,断电数据消失,可以写入无限次,没有写入条件,成本高,容量小
FLASH:闪存程序存储器 类型:ROM 存储用户程序 读写有延迟速度慢,断电数据保存,可以写入10万次,需要先清楚再写入,成本低,容量大
2.0~3.6V供电:一般用3.3V
PLL:分频器
RTC:实时时钟(计时等效果)
时钟:
HSI:H-高速 S-晶振 I-內部
HSE:H-高速 S-晶振 E-外部
LSE:L-低速 S-晶振 E-内部
LSI:L-低速 S-晶振 I-外部
低功耗:
ADC:模拟/数字转换器
采集模拟电路数据
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 复用开漏输出
调试模式
- 串行单线调试(SWD)和JTAG接口
SWD:只需要两条线就可以完成调试
JATG: 需要更多的资源才可以
定时器
普通定时器:
TIM2、TIM3、TIM4定时器:每一个定时器都有一个16位的自动加载递加/递减计数器、一个16位的、预分频器和四个独立的通道,每个通道都可用于输入捕获、输出比较、PWM和单脉冲波模式输出,在大的封装配置中可提供12个输入捕获、输出比较或PWM通道。
任意标准定时器都能产生PWM输出。每个定时器都有独立的DMA 请求机制。
高级定时器:
TIM1定时器:可以看作是6通道的三相PWM发生器
看门狗
两个看门狗(独立的和窗口型的):检测单片机,如果单片机出现错误,就会进行复位。
本质就是定时器,每隔一段时间就需要给看门狗喂骨头(复位),即定时器清零,让狗继续啃骨头,如果单片机程序跑起来出错,不能定时给看门狗喂骨头,狗就会叫,单片机就会复位。
独立看门狗(LWDG):基于一个12位的递减计数器和一个8位的预分频器,它由一个内部独立的40KHz 的RC振荡器提供时钟;因为这个RC振荡器独立于主时钟,可以运行于停机和待机模式。(给出复位信号)
可以作为复位的定时器,也可以作为普通的自由定时器。
窗口看门狗(WWDG):有一个7位递减型计数器,可以设置为自由运行。由主时钟驱动(给出中断/复位信号)
滴答定时器
滴答定时器:专用于实时操作系统,也可当作一个标准的递减计数器。
24位的递减计数器
自动重加载功能
当计数器为0时能产生一个可屏蔽系统中断
可编程时钟
I2C总线接口:能够工作于多主模式或从模式,支持标准和快速模式。
每一个I2C从设备有一个地址,所有设备与单片机都需要供公地。
USART:通用同步/异步收发器
UART:异步收发器
最常用的是异步。
USART只是一种协议方式,根据不同的电平方式分为RS32 和 RS485等。
SPI:两个SPI,有主从模式,可全双工和半双工,最大速度18M/s ,用3个预分频器来设置8种频率,支持SD卡的读写模式,支持DMA。
特点:通信协议简单稳定,速度快
通过I/O来控制SPI设备开关。
CAN:有一个CAN总线,位速度最高1M/s,11位标识符,29位扩展帧,3个发送邮箱,2个FIFO,3级14个滤波器
特点:通信速度快,距离远,稳定,自动查错。
每一个CAN都可以是主设备
USB:设备控制器,有待机和唤醒功能,时钟必须由外部高速晶振产生。
CRC:用于数据正确性的校验,对于要加载的数据进行处理得到一个计算结果,再将这个数据和计算结果一起发送过去,接收端的数据通过CRC再进行处理,再将处理的计算结果和发送端CRC的结果比较,如果两者相同则数据正确,否则数据错误。
96位的芯片唯一代码:24位十六进制数,每一个芯片的编码是唯一的
内核;
存储器;
时钟电路:
复位电路:
电源电路:
将电脑的接收/发送端和单片机的发送端/接收端;
RX/RXD:接收端;
TX/TXD: 发送端;
单片机:PA9(发送端),PA10(接受端);
同时需要GND共地;
启动模式的设置:
BOOT0/BOOT1:电平变化组合来决定启动模式
固件库安装:
用户程序存放在FLASH中
固件库:底层驱动程序
*STM32的程序编写方式:
按键:
蜂鸣器:
MIDI音乐 :
USART驱动程序:
FT232可以直接将USB转成USART串口,也可以将USART转成USE串口,可以实现电脑和单片机的直接连接;
5V转TTL电平
USART发送数据:
CNT:计数值
CCRx;设定的值
ARR:溢出值
什么是中断?
中断是指一个突发事件,终止了CPU当前的工作,转而处理突发事件,处理完成后,再回到当前的工作继续执行。
STM32允许多种多样的中断,如外部IO、ADC、USART、I2C、RTC、PVD等。
上沿:电平从低电平瞬间变为高电平
下沿:电平从高电平瞬间变为低电平
高低电平:电平从低到高或者从高到低都会产生中断
NVIC:嵌套向量中断的控制器
EXTI: 外部IO中断事件控制器
优先级
优先级分组:
通过高低电平控制磁性:com输入高电平
定时器:
捕获器:
输出 比较器: