重构的记录格式每个重构手法都有5个部分。名称(name)要建造一个重构词汇表,名称是很重要的。速写(sketch)名称之后是一个简单的速写(sketch);这部分可以帮助你更快找到你所需要的重构手法。速写部分会以代码示例的形式展示重构带来的转变。速写的用意不是解释重构的用途,更不是详细讲解如何操作这个重构;但如果你曾经看过这个重构手法,速写能帮你回忆起它。动机(motivation)为你介绍“为什么需要做这个重构”和“什么情况下不该做这个重构”。做法(mechanics)简明扼要的一步一步介绍如何进行此重构。“做法”出自作者的笔记。这些笔记是为了让我在一段时间不做某项重构之后还能记得怎么做。它
6TIM定时器文章目录6TIM定时器6.1TIM定时中断原理6.2TIM定时中断相关实验6.2.1实验:定时器定时中断-内部时钟6.2.2实验:定时器定时中断-外部时钟6.3TIM输出比较原理6.4TIM输出比较相关实验6.4.1舵机简介6.4.2直流电机简介6.4.3实验:PWM驱动呼吸灯-引脚重映射6.4.4实验:PWM驱动舵机6.4.5实验:PWM驱动直流电机6.4.6扩展实验:旋转编码器控制舵机6.4.7扩展实验:旋转编码器控制直流电机6.5TIM输入捕获原理6.6TIM输入捕获相关实验6.6.1实验:输入捕获模式测频率6.6.2实验:PWMI模式测频率占空比6.7TIM编码器接口原理
文章目录本章节目标一、HarmonyOS简介初识HarmonyOSHarmonyOS系统定位HarmonyOS典型应用场景二、HarmonyOS架构与安全1.HarmonyOS架构解析内核层系统服务层框架层应用层应用服务智能分发2.HarmonyOS系统安全正确的人正确的设备正确地使用数据三、HarmonyOS关键特性1.硬件互助,资源共享分布式软总线分布式设备虚拟化分布式数据管理分布式任务调度2.一次开发,多端部署3.统一OS,弹性部署四、HarmonyOS生态HarmonyOS社区运营规划,是处理器捕获外部输入信号的功能。基于定时器抓取输入信号指定触发方式之间的长度。通过输入捕获功能,我们可以测量脉冲宽度和测量频率。在每个高级定时器和通用器都有4个输入捕获通道。当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数。输入捕获功能主要涉及以下几个关键概念:捕获通道(Captur
文章目录输出比较PWM输出比较通道参数计算舵机简介直流电机简介TB6612PWM基本结构PWM驱动呼吸灯PWM驱动舵机PWM控制电机输出比较输出比较,简称OC(OutputCompare)。输出比较的原理是,当定时器计数值与比较值相等或者满足某种特定条件时,比较通道会产生一个输出信号,这个输出信号可以用来触发外部事件,如控制其他外设的操作,或者驱动外部电路。在每个高级定时器和通用定时器都拥有4个输出比较通道。高级定时器的前3个通道额外拥有死区生成和互补输出的功能。PWM我们可以利用输出比较来对外产生一个PWM频率。PWM(PulseWidthModulation)脉冲宽度调制,是一种常用的控制
TIM目录定时器四部分讲解内容,本文是第一部分TIM简介基本定时器主从触发通用定时器总结通用定时器与高级定时器的区别==定时中断基本结构图==定时中断和内外时钟源选择时序预分频器时序计数器时序RCC时钟树ST配置流程==代码部分==程序现象定时中断接线图步骤Timer.cTimer.hmain.c外部时钟接线图Timer.cTimer.hmain.c定时器四部分讲解内容,本文是第一部分1、定时器基本定时,定一个时间,然后让定时器每隔一段时间产生一个中断,来实现每隔一个固定时间执行一段程序的目的,比如要做一个时钟、秒表或者使用一些程序算法2、定时器输出比较的功能,输出比较这个模块最常见的用途是产
频率测量: 频率>中界频率:适用测周法 频率第一步:配置GPIO,TIM的时基单元 在配置TIM的时基单元参数有些许不同。 TIM_TimeBaseInitTypeDefTIM_TimeBaseInitStructure; TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1; TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up; TIM_TimeBaseInitStructure.TIM_Per
文章目录目标一、Activity的生命周期目标1.1生命周期状态1.2生命周期方法二、Activity的创建、配置、启动和关闭目标2.1创建Activity2.2配置Activity2.3启动和关闭Activity三、Intent与IntentFilter目标3.1Intent显式意图隐式意图3.2IntentFilter(1)action属性匹配规则(2)data属性匹配规则(3)category属性匹配规则四、Activity之间的跳转目标4.1数据传递使用Intent的putExtra()方法传递数据使用Bundle类传递数据4.2Activity之间的数据回传4.3实战演练—小猴子摘桃
文章目录前言一、CH58X_BLEInit二、HAL_Init①SYS_EVENT_MSG②LED_BLINK_EVENT③HAL_KEY_EVENT④HAL_REG_INIT_EVENT⑤HAL_TEST_EVENT三、GAPRole_CentralInit四、Central_Init①SYS_EVENT_MSG②START_DEVICE_EVT③ESTABLISH_LINK_TIMEOUT_EVT④START_SVC_DISCOVERY_EVT⑤START_PARAM_UPDATE_EVT⑥START_PHY_UPDATE_EVT⑦START_READ_OR_WRITE_EVT⑧START
文章目录旋转编码器介绍主程序逻辑直接检测用外部中断检测下降沿定时器直接解码旋转编码器STM32中文参考手册V10.pdf定时器的编码器模式TIM2定时器编码器程序TIM3定时器编码器程序TIM4定时器编码器程序旋转编码器介绍旋转编码器简单来说,就是会输出2个PWM,依据相位可以知道旋转方向,依据脉冲个数可以知道旋转的角度。一般旋转一圈有一个固定数值的脉冲个数。旋转编码器广泛用于电机、或者角度传感器,STM32的定时器可以直接接入这两个波形获取到信息。前两个引脚(接地和Vcc)用于为编码器供电,我这里采用3.3V的供电。除了以顺时针方向和逆时针方向旋转旋钮外,编码器还有一个开关(低电平有效),按