随笔分类 - 嵌入式开发
摘要:一、I2C通信协议简介 I2C(Inter-Integrated Circuit)总线是一种由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器以及其外围设备。它是由数据线 SDA 和时钟线 SCL 构成的串行总线,可发送和接收数据,在 CPU 与被控 IC 之间、IC 与 IC 之间进行
阅读全文
摘要:一、RS485简介 RS485(一般称作 RS485/EIA-485)隶属于 OSI 模型物理层,是串行通讯的一种。电气特性规定为 2 线,半双工,多点通信的类型。它的电气特性和 RS-232 大不一样。用缆线两端的电压差值来表示传递信号。RS485 仅仅规定了接受端和发送端的电气特性。它没有规定或
阅读全文
摘要:一、串口通信简介 串口通信是一种设备间常用的串行通信方式,串口按位(bit)发送和接收字节。串口通信的数据包由 发送设备的 TXD 接口传输到接收设备的 RXD 接口。在串口通信的协议层中,规定了数据包的内容,它由 起始位、主体数据、校验位 以及 停止位 组成,通讯双方的数据包格式要约定一致才能正常
阅读全文
摘要:一、数据通信方式 按 数据通信方式 分类,可分为 串行通信 和 并行通信 两种。串行和并行的对比如下图所示: 串行通信 的基本特征是 数据逐位顺序依次传输,优点是传输线少、布线成本低、灵活度高等优点,一般用于近距离人机交互,特殊处理后也可以用于远距离,缺点就是传输速率低。 而 并行通信 是 数据各位
阅读全文
摘要:一、外部中断简介 EXTI 即是 外部中断和事件控制器,它是由 20 个产生事件/中断请求的 边沿检测器 组成。每一条输入线都可以独立地配置输入类型(脉冲或挂起)和对应的触发事件(上升沿或下降沿或者双边沿都触发)。每个输入线都可以独立地被屏蔽。挂起寄存器保持着状态线的中断请求。 中断:要进入 NVI
阅读全文
摘要:一、什么是中断 在主程序运行过程中,出现了特定事件,使得 CPU 暂停当前正在运行的程序,转而去处理这个事件,等这个事件处理完成之后,CPU 再回到刚才被打断的位置继续处理,则就是 中断。那个打断 CPU 执行的特定事件,我们一般称之为 中断源。被中断打断的位置我们称为 断点。处理特定实际事件的过程
阅读全文
摘要:一、按键简介 常态下,独立按键是断开的,按下的时候才闭合。每个独立按键会单独占用一个 IO 口,通过 IO 口的高低电平判断按键的状态。但是按键在闭合和断开的时候,都存在抖动现象,即按键在闭合时不会马上就稳定的连接,断开时也不会马上断开。这是机械触点,无法避免。 按键抖动波形图如下: 按下抖动和释放
阅读全文
摘要:一、LED简介 LED(Light Emitting Diode),发光二极管,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。LED 的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是 负极,另一端连接电源的 正极,使整个晶片被环氧树脂封装起来。 半导体晶片由两部分
阅读全文
摘要:一、GPIO概述 GPIO 是控制或者采集外部器件的信息的外设,即负责输入输出。它按组分配存在,每组最多 16 个 IO 口,组数视芯片而定。比如:STM32F407ZGT6 芯片是 144 脚的芯片,分为 7 组,分别是:GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF 和
阅读全文
摘要:一、系统滴答定时器概述 SysTick,即系统滴答定时器,它包含在 M3/4/7 内核里面,核心是一个 24 位的递减计数器。当计数值减到 0 时,将从 RELOAD 寄存器中自动重装载定时初值,开始新一轮计数。只要不把它在 SysTick 控制及状态寄存器中的使能位清除,就永不停息。 二、SysT
阅读全文
摘要:一、STM32F4的时钟树 其中,A 部分表示 输入时钟源,可分为 外部时钟源 和 内部时钟源;B 为 锁相环 “PLL”;C 为 系统时钟源选择器,此项决定了 MCU 的系统主时钟 “SYSCLK” 的大小;AHB 预分频器将 SYSCLK 分频或不分频后分发给其它外设进行处理,包括到 D 部分的
阅读全文
摘要:一、初识HAL库 STM32 开发中常说的 HAL 库开发,指的是利用 HAL 库固件包里封装好的 C 语言编写的驱动文件,来实现对 STM32 内部和外围电器元件的控制的过程。但只有 HAL 库还不能直接驱动一个 STM32 的芯片,其它的组件已经由 ARM 与众多芯片硬件、软件厂商制定的通用的软
阅读全文
摘要:一、什么是STM32 STM32,从字面上来理解,ST 是意法半导体,M 是 Microelectronics 的缩写,32 表示 32 位,合起来理解,STM32 就是指 ST 公司开发的 32 位微控制器。 STM32 主要分两大块,MCU 和 MPU,MCU 就是我们常见的 STM32 微控制
阅读全文
摘要:一、访问者模式 访问者模式(Visitor Pattern)是一种将数据操作与数据结构分离的设计模式,可以在不修改数据结构的前提下增加新的操作。访问者模式的核心思想是将数据结构中的元素操作分离出来,封装在单独的访问者对象中。这样,当需要添加新的操作时,只需要创建新的访问者类,而无需修改原有的数据结构
阅读全文
摘要:一、模板方法模式 模板方法模式(Template Method Pattern)中定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法模式在其结构中只存在父类与子类之间的继承关系。 通过使用模板方法模式,可以将一些复
阅读全文
摘要:一、策略模式 在策略模式(Strategy Pattern)中,定义一系列算法类,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化,也称为政策模式(Policy)。在这里,每个封装算法的类都可以称之为一种策略(Strategy)。为了保证这些策略在使用时具有一致性,
阅读全文
摘要:一、状态模式 状态模式(State Pattern)是设计模式中的一种,属于行为模式。它允许一个对象在其内部状态发生改变时改变它的行为,使其看起来像是修改了其类。状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。通过把状态的判断逻辑转移到表示不同状态的一系列类中,状态模式可以简化复
阅读全文
摘要:一、观察者模式 观察者模式(Observer Pattern)定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式的别名包括 发布-订阅模式(Publish/Subscribe)、模型-视图模式(Model/View)、源-监听器模式(S
阅读全文
摘要:一、备忘录模式 在实现撤销时,首先必须保存软件系统的历史状态。当用户需要取消错误操作并且返回到某个历史状态时,可以取出事先保存的历史状态来覆盖当前状态。备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤。当新的状态无效或者存在问题时,可以使用暂时存储起来的备忘录将状态复
阅读全文
摘要:一、中介者模式 如果在一个系统中对象之间的联系呈现为网状结构。对象之间存在大量的多对多联系,将导致系统非常复杂,这些对象既会影响别的对象,也会被别的对象所影响。在网状结构中,几乎每个对象都需要与其他对象发生相互作用,而这种相互作用表现为一个对象与另外一个对象的直接耦合,这将导致一个过度耦合的系统。
阅读全文

浙公网安备 33010602011771号