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

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.mrgr.cn/news/69619.html

相关文章:

  • Atlassian公司相关信息
  • ODOO学习笔记(6):Odoo与Oracle ERP的区别
  • macOS 设置固定IP
  • conda创建 、查看、 激活、删除 python 虚拟环境
  • java:继承题练习
  • vue3设置第三方组件 样式::v-deep
  • Elasticsearch 实战应用:高效搜索与数据分析
  • 网络编程中非阻塞的实现方式
  • 540. 有序数组中的单一元素
  • SimpleMemory 博客园主题美化
  • 如何自己实现事件的订阅和发布呢?
  • 基于SpringBoot+Vue音乐播放和推荐系统【提供源码+答辩PPT+参考文档+项目部署】
  • PostgreSQL 用户登录失败账号锁定
  • 基于SpringBoot的“生鲜交易系统”的设计与实现(源码+数据库+文档+PPT)
  • numpy np.logical_not函数介绍
  • LLMs在供应链投毒检测中的应用
  • Python中的动态属性管理:使用`__getattr__`和`__setattr__`实现灵活的数据访问
  • 文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《基于数据-模型混合驱动方法的多类型移动应急资源优化调度策略 》
  • 一文带你看懂Java多线程并发,深度剖析AQS源码
  • 想让水凝胶像智能生物一样行动?光和电怎样赋予其自主 “超能力”?
  • 基于PyQt Python的深度学习图像处理界面开发(一)
  • 【含开题报告+文档+PPT+源码】基于Springboot和vue的电影售票系统
  • 政务培训|LLM大模型在政府/公共卫生系统的应用
  • stm32以太网接口:MII和RMII
  • 前端 性能优化 (图片与样式篇)
  • 【GESP】C++一级真题练习(202312)luogu-B3921,小杨的考试