STM32知识合集

目录

STM:

GPIO:

串口通信协议:

1.USART:

2.I2C:

3.Modbus

4.RS232

5.RS485:

SPI通信协议

万用表使用:

中断系统:

NVIC:

EXTI :

时钟系统:

PWM:

ADC 模拟数字转换器

DMA控制器

ARM:

系统移植:


STM:

开发环境搭建   --  GPIO编程 + 液晶屏        -》存放在FLAH里

STM32  --   USART  串口应用

STM32 --  中断系统

STM32 --   时钟定时器系统

STM32 --  ADC +  DMA 

STM32  --  通信模组  蓝牙、wifi等

--------------------------------------------------------------------------------------------------------------------------------

GPIO:

通用可编程I/O端口

需要控制外部设备,通过CPU控制

VCC:接入电路的电压

VDD:元器件内部的工作电压

VSS:公共接地端电压

GDN:电压参考基点

输入功能:浮空输入、上拉输入、下拉输入,模拟输入

输出功能:开漏输出,推挽输出

---------------------------------------------------------------------------------------------------------------------------------

串口通信协议:

Modbus、UART、单总线、SPI、I2C、232、485

1.USART:

支持同步通信,全双工、串行{TXD:发送端  RXD:接收端  GND:公共地}

空闲状态:信号线保持高电压

起始位:1位低电平

数据位:8-9位

相关寄存器:串口控制寄存器、波特率寄存器、中断和状态寄存器、数据发送寄存器、数据接收寄存器

=========================================================================

2.I2C:

半双工,同步通信{SCL:同步时钟  SDA:数据输入/输出} 

一主多从模式,主设备产生允许传输的时钟信号,并初始化数据传输,从机接收

(1)主机启动信号S,表示通信开始

(2)主机接着发送一共地址位7位和读写位 01写 11读

(3)从机地址匹配,成功后回一个应答信号ACK(0)

(4)主机接收到应答信号后,接着发送数据

(5)从机收到后回一个ACK

(6)主机发送最后一个字节,并收到从机的应答信号,接着发送一个停止信号P,结束通信,并释放总线

(7)从机收到P信号后也退出

注意:SDA数据线上的每个字节必须是8位,8位后紧跟着第9位应答信号(ACK)

=========================================================================

3.Modbus

TCP协议格式 运行在以太网上

协议通信含三部分:报文头,功能码,数据

(1)创建实例 modbus_new_tcp  (ip地址和端口号502)

(2)设置从机ID modbus_set_slave  (实例 从机ID)

(3)与从机连接 modbus_connect (实例)

(4)寄存器操作 功能码对应的函数

(5)关闭套接字 modbus_close (关闭)

(6)释放实例  modbus_free(实例)

=========================================================================

4.RS232

RXD 接收   TXD 发送  GND

RS232串口通信采用TTL逻辑  高2.4v 低 0.4v

节点数:点对点

最大距离:15.24m

最大传输速率:20kbit/s

全双工通信

TTL逻辑接口接RS232

=========================================================================

5.RS485:

工作方式:差分信号

节点数:点对多通信(1发32收)

最大传输速率:10Mbit/s

最大传输距离:1200m

连接方式:多点对对点,两线制,半双工

=========================================================================

SPI通信协议

三线/四线同步串行 全双工 主从配置

工作模式

               时钟极性       时钟相位

mode1           0                  0

mode2           0                     1

mode3          1                    0

mode4           1                      1

MOSI:主机发送数据给从机

MISO:从机给主机发

CLK:同步时钟线

cs1

cs2     芯片选择线 有几个从机 就有几个从机线

...

=========================================================================

万用表使用:

V~:交流电压  220v 家用

V— :直流电压 电池 电瓶

A~:安倍 电流

A— :直流电流

10mF:电容

-|>|- :二极管

))))  :蜂鸣档 测一个开关或者一根导线是否完全相通

Ω:电阻 大功率小阻值 小功率大阻值  

com:插黑表笔(不变)红表笔  红接正 黑接负

10A:测大电流的挡

判断一切负载不工作的时候 测供电量阻值

---------------------------------------------------------------------------------------------------------------------------------

中断系统:

能够应对突发事件,实现程序并行化,同一时间多程序执行,提高CPU的工作效率 

并发:

一个CPU同时处理多个线程任务,是CPU把运行时间分成小时间段,一个时间段执行一个线程

并行:多个CPU处理器同时处理多个线程

主程序-》中断发生-》压栈-》中断执行-》返回-》出栈-》执行原程序

NVIC:

嵌套向量中断控制器,负责管理中断

EXTI :

外部事件中断控制器

功能:产生中断,产生事件

产生中断的目的:将信号给NVIC,进而运行中断服务程序,实现对应功能,属于软件级

产生事件目的:将采集的一个脉冲信号送到某个外设,进而驱动某些设备做出动作,是电路级别的传输,属于硬件级

时钟系统:

是嵌入式系统的脉搏,处理器内核在时钟驱动下完成指令执行

组成:时钟源(振荡源),唤醒定时器,信频器,分频器

晶体振荡器:石英晶体设计,信号稳定,质量好,价格高,启动时间长

RC振荡器:电阻电容设计,能够将直流电转换为具有一定频率的交流信号输出

成本低,精度不好,振荡频率出现误差

TIPS:为什么设计信频器和分频器

(1)为了降低成本(CPU需要更高的时钟频率)

(2)减少功耗(外设需要不同的时钟频率)

PWM:

脉宽调制,利用微处理器的数字输出来对模拟电路进行控制

占空比:一个周期内,高电平信号所占据的时间比例

1)电机控制 2)LED亮度调节

ADC 模拟数字转换器

12位ADC 19个通道  16个外 3个内

ADC的单次模式和连续模式

单次模式:不是一个通道,如多个通道,采集完一次就停止

连续模式 循环采集

DMA控制器

直接内存访问

绕过CPU直接访问系统总线,将数据在外设和内存之间传输

给CPU节省资源,使CPU工作效率提高

API接口 应用层接口

---------------------------------------------------------------------------------------------------------------------------------

ARM:

存储模型、工作模式8种,寄存器、异常机制、流水线3级,指令集,三级存储结构

接口技术:GPIO,PWM

1、指令执行过程:取址,译码,执行

2、ARM数据类型:Byte 8bits ,Halfworld 16bits ,word 32bits

3、寄存器:通用寄存器:暂时存放参与运算的数据和运算结果

                    专用寄存器:

                     控制寄存器

4、ARM异常处理

5、流水线

系统移植:

nfs   tftp

uboot:操作系统运行的一小段代码,将软硬件环境初始化成一个合适的状态,为操作系统加载运行做准备

驱动框架:

入口(安装):资源的申请

出口(卸载):资源的释放

许可证(GPL)

你可能感兴趣的:(stm32,嵌入式硬件,单片机)