定时器


在这里插入图片描述

  • 实验个数 1 4 4

1

在这里插入图片描述

  • 定时器定时原理 是 硬件定时

1.1

在这里插入图片描述

  • 51 里面 利用 机械周期 nop 为1

在这里插入图片描述

  • 那个称为 延时因子 F103 主频72MHZ 这个因子 这就72
  • 不精准 函数调用 压栈出栈 耗时 STM32 ARM架构 有流水线 (一条指令 需要多个指令 一条指令执行 分成多个步骤?)
  • 死等 比如延时 1s (cpu 1s内 啥也干不了了)

1.2

在这里插入图片描述

  • 时基 这里可以理解为 时钟源
  • TIM CLK 是 计数器 工作的时钟频率
  • 时间到了 产生一个事件??? 或者使能它产生一个中断

1.3

在这里插入图片描述

  • 实时时钟是 RTC

1.4

在这里插入图片描述

  • 预分频系数 这得是整数的
  • 溢出 时间到了 会产生 DMA请求
  • 这里F1 是 只有高级定时器 才有互补输出(H7的不是)

1.5

在这里插入图片描述

  • 这时基(用途) 说的是 定时功能
  • 这说输入输出 难道是1.4 捕获就是输入 互补就是比较?

2

在这里插入图片描述

2.1

在这里插入图片描述

  • 分频 1的时候 对应 2分频 0-> 1
  • 基本定时器溢出时 可触发DAC 产生一次 数模转换

2.2 基本定时器 框图

在这里插入图片描述

  • 时钟源来自 RCC? ????(RCC不是 复位和时钟控制吗)

  • 基本定时器 时钟源 只能来自 内部时钟

  • CNT计数器上有个 + 表示递增
    在这里插入图片描述

  • 溢出条件没看懂???

  • 影子 图上后面 有阴影 称为该寄存器 的影子寄存器

  • 写到ARR不起作用 要转移到 ARR影子寄存器才起作用

  • 影子寄存器 上面的寄存器 起到 缓冲作用
    在这里插入图片描述

  • 这U 是更新的意思

  • 默认下 计数器溢出 事件会产生 可设置不产生 中断和DMA请求 和这个相反
    在这里插入图片描述

  • 更新事件产生的第二种 方法

在这里插入图片描述

  • 更新事件的 作用 以及ARPE 位 决定ARR 是否具有缓冲

在这里插入图片描述

  • 控制计数器 复位 使能 计数
  • TRGO 触发输出 信号 (计数器 溢出时 会产生这个信号)

这再介绍一下 定时器 时钟源

在这里插入图片描述

  • 这并不是 挂载在哪个总线上 频率就是那个(倍频器)
    在这里插入图片描述
  • 这是 时钟树 在 参考手册里

在这里插入图片描述

  • 看了一下实例里 分频系数是多少

  • 所以 定时器 1~8 都是72M的

2.3

在这里插入图片描述

  • 递增又叫 向上
    在这里插入图片描述
  • PSC是1 这是 二分频 (前面说过+1)
  • 更新中断 标志位 硬件 置1 如果配置了 会产生中断(中断服务函数里 会把标志位清0)

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

  • 这个自动重载 感觉有点不一样

2.4

2.4.1

在这里插入图片描述

  • 这介绍了 缓冲 可以具有的作用 减小误差(改值情况下 要用?
  • 两种场景 一种 亮1s 灭 2s 另一种 亮1s 灭1s
  • 第一种必须用缓冲 不用的话 你改ARR 的值会有误差
  • 第二种 不用改ARR的值

在这里插入图片描述

  • 这个寄存器的作用

2.4.2

在这里插入图片描述

  • 这个前面 框图说过 这两默认都不开
  • 这用不到 DMA请求

2.4.3

在这里插入图片描述

2.4.4

在这里插入图片描述

  • rw 可读可写 计数器运行时 也可写数据

2.4.5

在这里插入图片描述

  • 这体现 +1了
  • 感觉这个预分频 应该和时钟那讲的无关 (随意设的)

2.4.6

在这里插入图片描述

2.5 定时器 溢出时间计算方法

在这里插入图片描述

  • 这有两 定时器时钟频率 计数器的时钟频率才是真的
  • 不懂ARR为啥是+1不是+2
  • 他解释加1 好像是 如果ARR=0不能直接溢出吧 所以要前面有一个周期 (前面模式 那实列那 开始cnt变化时 前面确实有一个)
    在这里插入图片描述
  • 懂了 0到1 是1次

2.6 定时器 中断 实验配置步骤

在这里插入图片描述

  • 这给了一种方法 像这种给好了的HAL库函数 还是配置的 肯定看形参 的结构体成员 有啥
    在这里插入图片描述
  • 感觉和串口 步骤差不多 都是 MSP 回调 和 中断回调
  • 为啥这有两使能中断(应该是总分)
    在这里插入图片描述
  • HAL中断处理 公用函数 通过SR来判断 发生哪个中断

下面通过实例 来理解这几个函数

在这里插入图片描述

  • 这是HAL库 外设初始化函数 参数的句柄 就前两用到了 后面的不用

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

  • 这存放着 外设寄存器基地址的宏 (存放着寄存器 信息)

在这里插入图片描述

  • 预分频系数 就是操作PSC寄存器
  • 用不到 第二个 计数模式 只有 递增 时钟分频因子(通用 高级 有) 第5个(高级有)

在这里插入图片描述

  • 最后那个成员 相当于 CR1 里的位7
    在这里插入图片描述

在这里插入图片描述

  • 程序里 就是1左移 7个位

  • 下面那结构体 只用了 三个成员

配置步骤三的函数

在这里插入图片描述

  • 使能定时器 中断 具体哪个看参数 (这是更新中断)

在这里插入图片描述

  • 基本定时器 只用到 这个更新中断

在这里插入图片描述

  • 第二个功能是 使能计数器 CR1寄存器 位0

在这里插入图片描述

  • 实例中也是 操作位0 1左移0位

2.7

在这里插入图片描述

  • 产生更新中断 有两种方式 定时器 溢出 和 软件 置ug位 产生软件更新事件 从而产生 更新中断
    在这里插入图片描述
  • 一般带 PSC的值 算ARR

在这里插入图片描述

  • 这PSC为了 和72 能约
  • 单位 是 s HZ

以跑马灯实验为工程模板

在这里插入图片描述

  • 新建文件 添加btim.c 分组

在这里插入图片描述

  • 要HAL库函数 添加对应文件进文组(这应该也体现 extern作用 不用添加头文件)

2.7.1

在这里插入图片描述

在这里插入图片描述

  • 这找不到这个结构体 (写btim.h 就能找到 HAL库的了 我是看到+号下面 就一个btim.h 没其他的知道的) 正点的sys.h 有东西 这种类型的东西 都不用extern一下吗 直接就用了 明明没在一个文件里
  • 第二 这参数用的是指针 传过去 变量的地址
  • 这handle 是句柄
    在这里插入图片描述
  • init结构体 里 最后一个 因为 这 arr的值不用变 所以不管
  • 完成这个函数 所需的结构体了

2.7.2 和4

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

  • 找时钟使能 就去这 或者ex
  • 搜索 TIM 找到对应函数 再2改成 6 全局
    在这里插入图片描述
  • 再设置NVIC 参数 中断号 找就行

2.7.3

在这里插入图片描述

在这里插入图片描述

2.7.5

在这里插入图片描述

  • 去 启动文件里面 找 中断服务函数的名

在这里插入图片描述

2.7.6

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

  • 加led.c 头文件

  • 声明 那个自己创的函数

main.c

在这里插入图片描述

  • 这delay 500 没影响 是中断

在这里插入图片描述

  • 正点的 PB5 某些引脚 引出来了
    在这里插入图片描述
  • 频率1HZ 就是两个0.5s 占空比 50%

3

在这里插入图片描述

  • 3.3 里还会有个 通用定时器 中断实验

3.1

在这里插入图片描述

  • 多了 ADC
  • 不仅更新事件 会产生中断 /DMA请求
  • 可以级连

在这里插入图片描述

  • 数据手册可以看对应芯片 有几个定时器 (看来是芯片自带的 不是原子加的

3.2

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

  • 定时器 核心 计数器或者时基单元

在这里插入图片描述

  • 包含基本定时器 所有功能
  • TRGO 触发输出信号

3.2.1 时钟源

在这里插入图片描述

  • 四类 时钟源来源
  • 内部触发输入时钟
  • IO口复用 为定时器ETR引脚 外部时钟模式二
  • 外部时钟模式1 来自通道一和通道二

教一下去哪找 ETR 和通道1 2

  • 数据手册 直接搜 CH ETR
  • 或者原理图 搜

3.2.2

在这里插入图片描述

  • 触发输出信号 多出来 到 其他定时器 和ADC
  • 级联:定时器触发输出信号 接到下一个定时器 触发输入信号

3.2.4

  • XOR 异或门 霍尔传感器电路(电机) 用的 一般用不到 可忽略

在这里插入图片描述

  • 因为输入捕获 所以外部来 IO复用为通道

在这里插入图片描述

  • 会有毛刺部分 高频 滤波去掉
    在这里插入图片描述

  • 这两信号看你 的配置 可配置TI1 到IC1 和IC2(一般 这用通道1 就映射到 输入捕获通道1)

  • 可以把右边 理解为 输入捕获通道1 和 2 (ic input capture

  • 预分频器 这里 沿 会产生捕获事件 把CNT的值 转移到 捕获/比较1 寄存器

  • 可用于测量 脉冲时间

在这里插入图片描述

  • CC1是捕获中断 可开启

3.2.6

在这里插入图片描述

  • 程序员 往比较寄存器 写入比较值
  • 这有影子寄存器 更新事件发生 才会写下去 可以硬件 也可以软件更新
  • 当cnt== 影子寄存器的值 会改变输出参考信号
  • OC1REF 输出参考信号 默认高电平有效?
  • 比较事件 / 可开启比较中断
  • 输出控制有8种输出模式 如:pwm输出模式
  • 输出信号 受到 模式 输出参考信号 和下面那个影响 下面那个信号会把输出参考信号强制清0

在这里插入图片描述

  • 左右的通道是 分时复用

3.3

在这里插入图片描述

  • TI1F_ED 双边沿检测 两都计数

计数器时钟源 寄存器设置方法

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

  • ECE 也= 0
    在这里插入图片描述

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

  • 就是从这

在这里插入图片描述

  • 这就能看出来 SMS 就是把TRGI 连到后面
    在这里插入图片描述
  • ECE=1 就是上面那个 相同功效时钟源都来自 ETR引脚
    在这里插入图片描述
  • TS 位 应该是 连起来 这两

详细介绍 外部时钟模式1

在这里插入图片描述

  • 知道哪个位 在那一步
    在这里插入图片描述
    在这里插入图片描述
  • 不一定 是稳定高电平 掺杂毛刺信号

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

  • 看清谁和谁之间的 分频
  • CK_INT 是定时器 时钟源频率
  • 这取倒数 时间和频率的关系
    在这里插入图片描述

在这里插入图片描述

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

  • TRGI那 看的是上升沿 (CC2P那只起反向作用?)

详细介绍 外部时钟模式2

在这里插入图片描述

  • ECE 置 1 或另一种方法
  • 这边缘检测器 怎么都是反向的
  • 这图写对应哪个寄存器了

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

讲一下级联

在这里插入图片描述

  • SMS TS能看懂
  • 主模式有点纳闷 前面都是从模式(选择啥的)
    在这里插入图片描述
    在这里插入图片描述
  • 没有基本定时器

解读 通用定时器 中断实验

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

  • 中断服务函数 和基本的那个实验不同 没用HAL库公共中断处理 而是自己写的 判断标志位(是不是用了 就不用自己写判断标志位了)- ???
  • 再清除标志位

在这里插入图片描述

3.4

感觉这个输出就是 一部分CCRx 下一部分比较后的信号输出
pwm就是 高低电平 矩形

在这里插入图片描述

3.4.1

在这里插入图片描述

主电路的

在这里插入图片描述

  • 比较结果 会到 输出控制里

在这里插入图片描述

  • 正在写CCR1的时候 值不会被转移下去

在这里插入图片描述

输出部分的

在这里插入图片描述

  • 输出参考信号 由左边三个信号控制
  • OC1后面就是通道1了

看一下 寄存器的具体配置

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

  • 8种输出模式

在这里插入图片描述

在这里插入图片描述

  • ETRF 来自这

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

3.4.2

在这里插入图片描述

  • x 的值 1~4
  • IO那其实是上面OCx
  • 周期 ARR控制(计数器频率不变的话 (时钟频率 分频系数)) 占空比CCRx控制

3.4.3

在这里插入图片描述

  • CCMR1寄存器是管 通道1 和 2的
  • 向上计数 递增模式
  • REF那个是参考电平

在这里插入图片描述

  • 这个逻辑电平 应该是 最后通道的 (他说的不是)

3.4.4

在这里插入图片描述

  • HAL库外设初始化 初始化结构体
  • 宏难道是__开头的?

在这里插入图片描述

  • 基础定时器 那函数对应的BASE

实例里看一下这些函数

在这里插入图片描述

  • 弹幕说到时钟在哪配置了?

  • config 那个函数

  • 这个代码里 init里为啥没NVIC(没中断)
    在这里插入图片描述

  • config函数里面形参有 这个定时器输出比较初始化结构体

  • 第4个 高级定时器 18 才有

  • 第5个 用的少

  • 后面是互补输出 也是高级的

  • PWM实验 就看前三个

start函数 输出使能 和 计数器使能

在这里插入图片描述

这个挺重要
在这里插入图片描述

在这里插入图片描述

COMARE 函数
在这里插入图片描述

  • 就是往CCRx 里面写值

  • 在main函数里

  • 操作 捕获/比较寄存器
    在这里插入图片描述

使能通道预装载

  • 这个是可选的 实例中没用到( 是0的意思吗

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

3.4.5

先看一下IO口

在这里插入图片描述

  • 原理图上有LED 但是没写出来定时器(可能因为 重映射??)
    在这里插入图片描述
  • 用一下 重映射功能

实战 以跑马灯为例

  • BSP下新建TIMER文件夹 新建文件 gtim.c
  • 写一下基本的
    在这里插入图片描述
  • 这个好像只在这出现过
3.4.5.1

在这里插入图片描述

在这里插入图片描述

  • 这是g 开头 基本那个是b开头

  • ch好像是通道 y是几

  • TIM3 是因为 LED0 能重映射为 TIM3的

  • 模式那个搜一下 ref(一般就在一个文件里 和出现ref的)

  • 找不到那个函数 记得添加分组 以跑马灯为模板的话
    在这里插入图片描述

  • 这跳转不了 但编译不报错

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

  • 加上前面每次添加了文件后 直接在左边这里添加分组都没有 (所以 复制其他的 这里指向的是之前的)
3.4.5.2

在这里插入图片描述

  • 这直接把led.c 里的部分代码拿过来了
  • 改了名字 推挽复用(是指的复用吗 包括重映射功能 之前好像用过单纯复用的???) 加时钟开启
  • 好像知道为啥定时器不用配置时钟了 时钟树 里面不都整好了
  • 打开重映射的时钟
    在这里插入图片描述
    在这里插入图片描述
  • HAL库这么整上面的寄存器
    在这里插入图片描述
3.4.5.3

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

  • 通道这个打几个就会出提示
3.4.5.4

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

  • 再写一下main 和 声明

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

  • 2 KHZ 50%占空比
  • 应该灯看不出来是 时间太快了 视觉残留

实现呼吸灯效果 🐂

在这里插入图片描述

  • 波形的占空比 一直在变
  • dir是方向
  • 没了for 用while 这种变数的 感觉
    在这里插入图片描述
    在这里插入图片描述
  • 比较值变化过程
  • 每10ms 往CCR2里写入

在这里插入图片描述

  • ARR是500 当CCR2为0时 都是 1 当CCR2为300时 >300 时为 1 占空比40%
  • 占空比 40~100

通用定时器 先到这

4

在这里插入图片描述

4.1

在这里插入图片描述

  • 断路输入 刹车信号输入
  • 下面是比 前面通用多的

4.2

在这里插入图片描述

  • 时钟源部分 和通用定时器一样
  • 这是不一样的部分 刹车输入引脚 互补输出通道

在这里插入图片描述

  • 通用时 溢出就产生 U(更新事件) 和UI(更新中断)
  • 寄存器设置 值 溢出一次 值-1 直到0 才产生U 和 (UI)
  • 通道4 没有互补通道
  • DTG寄存器 设置死区时间
  • BI(刹车中断?)来到输出控制

4.3

在这里插入图片描述

4.3.1

在这里插入图片描述

  • 边沿对齐模式(向上 向下)

在这里插入图片描述

  • 中心对齐的 CNT = ARR - 1 CNT = 1
  • 再同步就是 再往影子寄存器里发一次 重置值 RCR寄存器 这里有效位是框图里的REP 上面起缓冲作用(影子寄存器)

4.3.2

在这里插入图片描述

  • 指定个数 就是用重复计数器

在这里插入图片描述

  • 输出的开关

4.3.3

在这里插入图片描述

  • 6 的主输出 高级定时器才有

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

  • 定时器输出比较 初始化结构体 用前三个

4.3.4

在这里插入图片描述

  • 看一下TIM8_CH1在哪
    在这里插入图片描述
  • 看LED1在哪
    在这里插入图片描述
  • 杜邦线 连起来 排针引出来了
    在这里插入图片描述
    在这里插入图片描述
  • 溢出时间 是 0.5s
  • 这解释了 为啥这个倒数就是 PWM的周期 (溢出一次 正好对应一次PWM)

实战(以跑马灯为例)

  • 新建 TIMER (atim.c)

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

  • 使能输出
  • 使能主输出 MOE位
  • 使能计数器 CR1寄存器 位0

下面开始指定个数

在这里插入图片描述

在这里插入图片描述

  • 所以uint8
  • 最大255 RCR 溢出266次 产生U 以及 UI

在这里插入图片描述

  • 这软件更新 为了把 RCR的值 写影子寄存器里

  • 这更新应该是为了 进入中断

  • 启动计数器 因为中断后里 我们设置关闭计数器

  • 软件更新 第二个参数是 事件源
    在这里插入图片描述

中断服务函数

在这里插入图片描述

  • 说明为啥-1
    在这里插入图片描述

  • 这里的更新 应该只改变RCR的值 而不会再进中断(类似同优先级中断 不打断?)

  • 下一句 打开计数器可以 注释一下试试

  • ~这个是取反(也不知道这怎么靠上了 视频里也是中间的)

在这里插入图片描述

为啥不用disable 关闭 计数器

在这里插入图片描述

  • 因为它要先判断 通道和互补通道关了没 才会关计数器

在这里插入图片描述

  • 这个1左移0位 是找到该位 下面它的介绍 0的时候关闭
    在这里插入图片描述

  • 这里不管 通道 所以用寄存器 方法操作

main 函数

  • 包含头文件
    在这里插入图片描述

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

  • 然后再把key文件加进来

在这里插入图片描述

  • 忘记 在atim.h 声明了

  • 改一下 PE5
    在这里插入图片描述

  • led_init 里配置的也是输出 这两都输出 会冲突

在这里插入图片描述

  • 这再 开 时钟 感觉没必要

  • 自己试一下 他用示波器看了


summary : 中断就是为了 指定个数
RCR是必要的 这种方法里
两次 软件更新意义要知道(验证一下 把第二次后面 启动计数器关了)

- 输出比较先不看 (少看了)(里面是翻转模式 不是pwm1 2)

4.4

在这里插入图片描述

4.5

在这里插入图片描述

4.5.1

在这里插入图片描述

  • x=1~3
  • 死区时间 oc 和 ocN 都是无效电平(这图里 是 低电平 有效???
  • 左右两个死区时间 相等

4.5.2

在这里插入图片描述

  • 同侧 不能同时导通 短路 OC 和OCN 不能同时 有效电平(这里可能是低 (控制))

  • 在这里插入图片描述

  • 不是因为mos管 反转 需要时间? 延迟??(切换时?来的电平 有延迟 所以等?)(应该就是说的mos管 )
    在这里插入图片描述

  • 如果不加 死区控制 可能有一瞬间 短路

4.5.3

在这里插入图片描述

  • 输出比较模式 包括 PWM1
  • 电机可以复用为ETR引脚(来自IO的复用)

在这里插入图片描述

  • CC1P 是极性选择

在这里插入图片描述

  • MOE 是 主输出模式??(输出通道 互补 总开关)

4.5.4

在这里插入图片描述

  • Ft 是定时器时钟源 F1 72M
  • 左边是 右边的式子

在这里插入图片描述

  • BDTR刹车死区寄存器
  • 1s= 10^-3 ns

4.5.5

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

  • 输出由这些位控制

  • 硬件会强制使 不同时高电平
    在这里插入图片描述

  • MOE 主输出模式 0(空闲模式) 1(运行模式)

  • OSSI 空闲模式下 关闭状态用的???

  • 第二个 看上面表75

  • BIF 刹车中断标志位

看上面的表75
在这里插入图片描述

  • 运行模式时 OSSI没用
  • OSSR 是运行模式关闭状态 空闲模式下为X

在这里插入图片描述

  • 和4.5.3 这里正好对上了

  • CCxE 是输出使能位

  • 在这里插入图片描述

  • 会把输出使能位 置1

  • 输出参考信号 那个受 CNT 和 CCR影响 (以及ETR引脚)

在这里插入图片描述

  • 与定时器断开 是指输出参考信号咋变 和输出无关
  • OCx=CCxp 输出信号等于极性
  • 使能 输出使能 位 置0(上面出现)(关闭输出)
    在这里插入图片描述
  • MOE=0 刹车

在这里插入图片描述

  • 感觉就是这个 使能 输出使能 这个位 变了

4.5.6

在这里插入图片描述

在这里插入图片描述

  • PWM这个和BASE那个一样 都是 初始化定时器基础参数

  • BDTR是 刹车和死区 寄存器
    在这里插入图片描述

  • 该结构体被前面第三个 函数用

  • 后面两 是 刹车后的 (互补)输出通道 状态设置

介绍一下上面结构体 对应的 寄存器
在这里插入图片描述

  • CCxp CCxNP 极性选择

在这里插入图片描述

  • 刹车后 状态选择

在这里插入图片描述

  • 该结构体 第四个函数用

对应寄存器

  • 参考手册 BDTR
  • 锁定 这个一般用不到

4.5.7

在这里插入图片描述

  • DTG 8位
  • 输出空闲状态 是 指 刹车后的
  • 比以前 多了底下两个

在这里插入图片描述

  • 死区时间5.56us(微秒)

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

  • 此处是 高电平导通 设置高为 有效电平

开始咯

在这里插入图片描述

  • 以跑马灯为模板
  • BSP 下新建TIMER atim.c atim.h
  • 添加 TIMER分组 和 HAL库 tim的驱动

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

在这里插入图片描述

  • 对应HAL 库 里 这个

在这里插入图片描述

在这里插入图片描述

  • NVIC 这没用
  • GPIO 所以先看一下 用哪些IO 口
    在这里插入图片描述
    在这里插入图片描述
  • 这是重映射方式 使用
    在这里插入图片描述
  • 也是 重映射

在这里插入图片描述

  • 重映射 的寄存器

在这里插入图片描述

  • 3 左移 六位 对应上

在这里插入图片描述

  • __ 开头 应该就是宏

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

  • 设置有效电平 前面H桥 那得是 高电平(就算设置成低 逻辑反一下 应该也行 )
  • 空闲 状态这都给0 肯定不转

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

  • 用到的结构体

在这里插入图片描述

在这里插入图片描述

  • 死区时间一会在这设置

在这里插入图片描述

在这里插入图片描述

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

  • main函数

在这里插入图片描述

  • 700是 因为要70% (应该也可能 300?)

在这里插入图片描述

  • 死区时间

在这里插入图片描述

  • 也 可以用数字看
  • /2 死区时间 和之前算的 差不多 5.5 5.6

在这里插入图片描述

  • 接入刹车信号后(PA15 接右边3.3V)

在这里插入图片描述

  • 全设置成有效 就成无效电平了
  • 一高一低可以

相关推荐

  1. <span style='color:red;'>定时器</span>

    定时器

    2024-05-25 19:10:40      33 阅读
  2. Linux定时器

    2024-05-25 19:10:40       51 阅读
  3. MySQL 定时器

    2024-05-25 19:10:40       48 阅读
  4. Linux定时器

    2024-05-25 19:10:40       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-25 19:10:40       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-25 19:10:40       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-25 19:10:40       82 阅读
  4. Python语言-面向对象

    2024-05-25 19:10:40       91 阅读

热门阅读

  1. eclipse 快捷键

    2024-05-25 19:10:40       36 阅读
  2. pytest

    2024-05-25 19:10:40       31 阅读
  3. uniApp 创建Android.keystore证书&IOS的证书

    2024-05-25 19:10:40       37 阅读
  4. Spring Boot中的缓存注解

    2024-05-25 19:10:40       31 阅读
  5. (九)npm 使用

    2024-05-25 19:10:40       32 阅读
  6. android关于framework层的中间件jar的流程

    2024-05-25 19:10:40       33 阅读
  7. 日用百货元宇宙 以科技创新培育产业新质生产力

    2024-05-25 19:10:40       33 阅读
  8. npm,yarn,cnpm,tyarn,pnpm 安使用装配置镜像

    2024-05-25 19:10:40       34 阅读
  9. vscode终端运行pnpm,yarn不成功问题

    2024-05-25 19:10:40       31 阅读
  10. 设计模式 16 解释器模式 Interpreter Design Pattern

    2024-05-25 19:10:40       29 阅读
  11. react 低代码平台方案汇总

    2024-05-25 19:10:40       30 阅读
  12. python列表底层原理

    2024-05-25 19:10:40       31 阅读