petard  

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)

——————————————————————————————————————

相关概念:

  1. DMA直接存储访问

    用来提供在外设和存储器之间 或者 存储器和存储器之间的高速数据传输。

    无须CPU干预,数据可以通过DMA快速地移动

  2. ADC模数转换

    模拟数字转换器

  3. FMSC控制器(Flexible static memory controller,灵活的静态存储器控制器)

    用来扩展一个FLASH或者SRAM

    STM32可以通过FSMC与SRAM、ROM、PSRAM、Nor Flash和NandFlash存储器的引脚相连,从而进行数据的交换。要注意的是,FSMC 只能扩展静态的内存(S:static)

  4. 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波

三、RTC(实时时钟)

RTC(Real Time Clock,实时时钟)。是一个*掉电(有专门的电池供电)*后仍然可以继续*运行**独立定时器*

​ RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期 RTC还包含用于管理低功耗模式的自动唤醒单元

二、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(模数转换)

模拟数字转化

——案例:独立模式单通道采集(采集可变电阻器的电压,并通过串口把电压数据发送到电脑端。)

​ 独立模式多通道采集

posted on   岌岌无名  阅读(280)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
 
点击右上角即可分享
微信分享提示