目录
STM:
GPIO:
串口通信协议:
1.USART:
2.I2C:
3.Modbus
4.RS232
5.RS485:
SPI通信协议
万用表使用:
中断系统:
NVIC:
EXTI :
时钟系统:
PWM:
ADC 模拟数字转换器
DMA控制器
ARM:
系统移植:
开发环境搭建 -- GPIO编程 + 液晶屏 -》存放在FLAH里
STM32 -- USART 串口应用
STM32 -- 中断系统
STM32 -- 时钟定时器系统
STM32 -- ADC + DMA
STM32 -- 通信模组 蓝牙、wifi等
--------------------------------------------------------------------------------------------------------------------------------
通用可编程I/O端口
需要控制外部设备,通过CPU控制
VCC:接入电路的电压
VDD:元器件内部的工作电压
VSS:公共接地端电压
GDN:电压参考基点
输入功能:浮空输入、上拉输入、下拉输入,模拟输入
输出功能:开漏输出,推挽输出
---------------------------------------------------------------------------------------------------------------------------------
Modbus、UART、单总线、SPI、I2C、232、485
支持同步通信,全双工、串行{TXD:发送端 RXD:接收端 GND:公共地}
空闲状态:信号线保持高电压
起始位:1位低电平
数据位:8-9位
相关寄存器:串口控制寄存器、波特率寄存器、中断和状态寄存器、数据发送寄存器、数据接收寄存器
=========================================================================
半双工,同步通信{SCL:同步时钟 SDA:数据输入/输出}
一主多从模式,主设备产生允许传输的时钟信号,并初始化数据传输,从机接收
(1)主机启动信号S,表示通信开始
(2)主机接着发送一共地址位7位和读写位 01写 11读
(3)从机地址匹配,成功后回一个应答信号ACK(0)
(4)主机接收到应答信号后,接着发送数据
(5)从机收到后回一个ACK
(6)主机发送最后一个字节,并收到从机的应答信号,接着发送一个停止信号P,结束通信,并释放总线
(7)从机收到P信号后也退出
注意:SDA数据线上的每个字节必须是8位,8位后紧跟着第9位应答信号(ACK)
=========================================================================
TCP协议格式 运行在以太网上
协议通信含三部分:报文头,功能码,数据
(1)创建实例 modbus_new_tcp (ip地址和端口号502)
(2)设置从机ID modbus_set_slave (实例 从机ID)
(3)与从机连接 modbus_connect (实例)
(4)寄存器操作 功能码对应的函数
(5)关闭套接字 modbus_close (关闭)
(6)释放实例 modbus_free(实例)
=========================================================================
RXD 接收 TXD 发送 GND
RS232串口通信采用TTL逻辑 高2.4v 低 0.4v
节点数:点对点
最大距离:15.24m
最大传输速率:20kbit/s
全双工通信
TTL逻辑接口接RS232
=========================================================================
工作方式:差分信号
节点数:点对多通信(1发32收)
最大传输速率:10Mbit/s
最大传输距离:1200m
连接方式:多点对对点,两线制,半双工
=========================================================================
三线/四线同步串行 全双工 主从配置
工作模式
时钟极性 时钟相位
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,进而运行中断服务程序,实现对应功能,属于软件级
产生事件目的:将采集的一个脉冲信号送到某个外设,进而驱动某些设备做出动作,是电路级别的传输,属于硬件级
是嵌入式系统的脉搏,处理器内核在时钟驱动下完成指令执行
组成:时钟源(振荡源),唤醒定时器,信频器,分频器
晶体振荡器:石英晶体设计,信号稳定,质量好,价格高,启动时间长
RC振荡器:电阻电容设计,能够将直流电转换为具有一定频率的交流信号输出
成本低,精度不好,振荡频率出现误差
TIPS:为什么设计信频器和分频器
(1)为了降低成本(CPU需要更高的时钟频率)
(2)减少功耗(外设需要不同的时钟频率)
脉宽调制,利用微处理器的数字输出来对模拟电路进行控制
占空比:一个周期内,高电平信号所占据的时间比例
1)电机控制 2)LED亮度调节
12位ADC 19个通道 16个外 3个内
ADC的单次模式和连续模式
单次模式:不是一个通道,如多个通道,采集完一次就停止
连续模式 循环采集
直接内存访问
绕过CPU直接访问系统总线,将数据在外设和内存之间传输
给CPU节省资源,使CPU工作效率提高
API接口 应用层接口
---------------------------------------------------------------------------------------------------------------------------------
存储模型、工作模式8种,寄存器、异常机制、流水线3级,指令集,三级存储结构
接口技术:GPIO,PWM
1、指令执行过程:取址,译码,执行
2、ARM数据类型:Byte 8bits ,Halfworld 16bits ,word 32bits
3、寄存器:通用寄存器:暂时存放参与运算的数据和运算结果
专用寄存器:
控制寄存器
4、ARM异常处理
5、流水线
nfs tftp
uboot:操作系统运行的一小段代码,将软硬件环境初始化成一个合适的状态,为操作系统加载运行做准备
驱动框架:
入口(安装):资源的申请
出口(卸载):资源的释放
许可证(GPL)