STM32通讯方式总结
1.SPI通信 (Serial Peripheral interface,串行外围设备接口)
是一种高速的,全双工,同步的串行通信总线
- 功能:SPI接口主要应用于EEPROM,FLASH,各种传感器,AD转换器等
W25Q32(芯片)是一种使用SPI通讯协议的NOR FLASH存储器
——案例:SPI外设读写Flash
2.串口通信
——通信对象:计算机和串口通讯
(STM32提供了USART通用同步异步收发器,是一个串行通信设备;
电脑已经没有串口接口,为了使用串口,用STLink2.1的USB转串口的功能)
3.I2C通讯
是一种简单的双向两线制总线协议标准,支持同步串行半双工通讯。
-
使用对象:
EEPROM芯片最常用的通讯方式就是I2C协议 (使用的芯片是M24C02)
——————————————————————————————————————
相关概念
-
DMA直接存储访问
用来提供在外设和存储器之间 或者 存储器和存储器之间的高速数据传输。
无须CPU干预,数据可以通过DMA快速地移动
-
ADC模数转换
模拟数字转换器
-
FMSC控制器(Flexible static memory controller,灵活的静态存储器控制器)
用来扩展一个FLASH或者SRAM
STM32可以通过FSMC与SRAM、ROM、PSRAM、Nor Flash和NandFlash存储器的引脚相连,从而进行数据的交换。要注意的是,FSMC 只能扩展静态的内存(S:static)
-
LCD显示
————————————————————————————————————————
定时器
系统定时器(SysTick系统)是属于CM3内核
一个24bit的向下递减的计数器,计数器每计数一次的时间为1 / SYSCLK
(可以产生中断,一般一秒中断一次)
- 功能:系统定时器一般用于操作系统,用于产生时基,维持操作系统的心跳。
作为一个闹铃,用于测量时间等。
——案例:LED灯闪烁
STM32F103系列提供了8个定时器:2个基本定时器(TIM6,7),4个通用定时器(TIM2-5),2个高级定时器(TIM1和TIM8)。
1、基本定时器(TIM6和TIM7)
这2个定时器是互相独立的,不共享任何资源。
只能向上计数,由于没有外部IO,所以只能计时,不能对外部脉冲进行计数。
-
功能:定时中断,主模式,触发DAC。
——案例:LED灯闪烁
2、通用定时器(TIM2、TIM3、TIM4、TIM5)
拥有基本定时器所有功能。并增加如下功能:
-
(1)多种时钟源。
-
(2)向上计数(加),向下计数(减),向上/向下(先加后减)。一般使用向上计数。
-
(3)输入捕获。
-
(4)输出比较。
-
(5)PWM生成。
支持针对定位的增量(正交)编码器和霍尔传感器电路。
——案例:LED呼吸灯——PWM脉冲(生成PWM方波)
测量PWM的频率/周期 和 占空比
3、高级定时器(TIM1、TIM8)
高级定时器除了拥有通用定时器的所有功能外,还具有以下功能:
-
(1)死区时间可编程的互补输出。
-
(2)断路输入信号(刹车输入信号)。
-
(3)重复计数器。
——案例:输出有限个周期的PWM波
DMA 直接存储器存取(direct memory access)
用来提供在外设和存储器之间或者存储器和存储器(ROM和RAM)之间的高速数据传输。
ROM(flash)
无须CPU干预,数据通过DMA快速地移动,这就节省了CPU的资源来做其他操作。
特点:
DMA有DMA1和DMA2两个控制器,DMA1有7个通道,DMA2有5个通道,不同DMA控制器的通道对应着不同的外设请求
-
先给DMA控制器发送DMA请求 ——> 通道 ——> 仲裁器 ——> 传输方向
——案例:ROM到RAM
RAM到外设(串口)
ADC(模数转换)
模拟数字转化
——案例:独立模式单通道采集(采集可变电阻器的电压,并通过串口把电压数据发送到电脑端。)
独立模式多通道采集
标签:总结,DMA,定时器,存储器,STM32,通讯,串口,PWM From: https://www.cnblogs.com/petard/p/18306155