当前位置: 首页 > article >正文

STM32各模块

1.工程文件结构:

在这里插入图片描述
startup前缀的汇编文件是来调用system前缀的文件来进行系统初始化和时钟配置,然后调用自定义的main函数,包括很多stm32f10x_it文件定义的中断处理函数。
stm32f10x.h定义了stm32所有外设寄存器描述,core_cm3文件定义了内核寄存器的一些功能。stm32f10x_conf.h主要是对标准库函数的一些配置操作,内部包含了所有标准库函数的头文件,而stm32f10x.h中也包含了这个stm32f10x_conf.h,所以无需重复包含即可调用标准库的函数。

2.定时器结构在这里插入图片描述

  1. 对于内部时钟RCC,只需要配置时基单元内的ARR自动重装器的

3.EXTI外部中断的结构

在这里插入图片描述

4.PWM模式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ADC

在这里插入图片描述

DMA

在这里插入图片描述在这里插入图片描述

UART

在这里插入图片描述
起始位固定为低电平,停止位固定为高电平,停止位拉高电平,当新数据发送时,起始位会拉低电平表示发送开始。校验位要么无校验、偶校验或这奇校验。寄校验和偶校验都是确保1的个数为奇数或者偶数,若接收方收到后,1的数量与预期不符则判定发生错误。
停止位可以是0.5位、1位、1.5位、2位。最常见为1位。
数据位可以是5位、6位、7位、8位、9位。最常见的为8位。
在这里插入图片描述

IIC

在这里插入图片描述
所有设备都是开漏输出模式,原因是:
避免冲突:开漏输出+上拉电阻的设计
如果所有设备都使用推挽输出,在同一时刻可能会出现以下冲突:
一个设备试图将SDA线拉高(输出高电平),而另一个设备同时试图将SDA线拉低(输出低电平),这种情况会导致信号冲突,并可能损坏设备。

首先SDA和SCL由于上拉电阻的存在,当SDA和SCL都没有被设备驱动时,即总线空闲时,两个总线都是高电平。当主机要发送数据时,先将SDA拉低,以通知从设备准备接收数据,随后拉低SCL,往SDA上驱动高低电平数据,然后拉高SCL,方便从设备在SCK高电平阶段读取SDA获得一位数据,随后主设备再次拉低SCL,往SDA上发一位数据,再拉高SCL,让从设备读取SDA数据,依次类推,传输完7位地址数据+读写位以后,主设备释放SDA线(即SDA的GPIO口设置为输入状态),从设备的SDA线为开漏输出模式,在下一个时钟周期拉低SDA线表示确认收到数据ACK。在ACK之后,根据发送的最后一位是读还是写(0是写入,1是读取),来决定接下来是谁发送数据?如果是写,则主设备继续发送数据,还是按照SCK低电平时写入数据到SDA,从设备高电平时读取。如果是读,则从设备发送数据,SCL一直由主设备驱动,当SCL位低电平时,从设备传入一位数据到SDA,主设备在SCL高电平时读取该位。当接收方不再需要接收数据时,选择发送NACK,即不拉低SDA,保持SDA由上拉电阻导致的高电平,随后由主设备先拉高SCL,随后主设备拉高SDA,来生成停止条件,随后主设备释放SCL和SDK的输出控制。

SPI

在这里插入图片描述

在这里插入图片描述
在片选信号拉低时,开始传输,拉高时表示结束传输。


http://www.kler.cn/a/387721.html

相关文章:

  • 运行springBlade项目历程
  • Qt初识简单使用Qt
  • C++笔记---异常
  • ELK-Logstash配置
  • Docker使用docker-compose一键部署nacos、Mysql、redis
  • 【非关系型数据库】【IOT设备】InfluxDB、TimescaleDB、Cassandra和MongoDB
  • 21. 评估架构
  • 快速上手Cellranger
  • 股票投资学习路线图
  • 西南科技大学竞赛与实践——实验一Paillier算法及其实现
  • Spring-Day8
  • Gradle命令编译Android Studio工程项目并签名
  • OJ算法练习(双指针篇)
  • django+postgresql
  • 题目:Wangzyy的卡牌游戏
  • 前端入门一之CSS知识详解
  • SpringBoot续+SpringMVC入门介绍
  • 二开CS—上线流量特征shellcode生成修改模板修改反编译打包
  • [QUIC] QUIC Frames
  • (C++回溯算法)微信小程序“开局托儿所”游戏
  • 图为科技与广东省北斗移动物联网产业研究院达成战略合作
  • mp3格式音频怎么做成二维码?扫码获取音频文件的制作方法
  • MySQL:客户端工具创建数据库
  • 25浙江省考-28天学行测-Day1
  • Python爬虫基础-正则表达式!
  • Redis4:Redis的Java客户端