【stm32】中断回顾 概念:中断一般来自硬件(如片上外设、外部 I/O 输入等)发生的事件,当这些硬件产生中断信号时,CPU会暂停当前运行的程序,转而去处理相关硬件的中断服务程序。补充知识:异常主要是指来自CPU内部的意外事件,比如执行了未定义指令、算术溢出、除零运算等发生在 CPU内部的意外事件,这些异常的发生,会引起CPU运行相应的异常处理程序;有些场合如果没有明确指出是异常还是中断,就统称为中断。中断优先级:当有多个中断源同时申请中断时, CPU 会根据中断源的轻重缓急进行裁决,优先响应更 加紧急的中断源。
【STM32】时钟回顾 晶振的全称叫做晶体振荡器,是晶体(石英)和电子元件组成,晶振有一个非常重要的特性:机电效应(压电效应),一般晶振会提供高度稳定的频率(振荡频率是固定的),一般晶振的频率有8MHZ、12MHZ、25MHZ、11.0592MHZ… 晶振的单位是HZ 频率(单位时间振荡的次数)
【STM32】GPIO回顾 输入模式没有推挽或开漏和速度设置。:GPIO_Mode_AN 外界模拟量,不加干涉(GPIO无效即使配置上下拉也无效),采集信息(电平信号1,0连续变化),模数转换(引脚直接接入内部ADC)。:GPIO_PuPd_UP 悬空无输入信号时,默认为高电平。有输入信号时,输入高为高电平,输入低为低电平。:GPIO_PuPd_DOWN 悬空无输入信号时,默认为低电平。有输入信号时,输入高为高电平,输入低为低电平。
【STM32】PWM 定义PWM(Pulse Width Modulation), 脉冲宽度调制。脉冲: 方波, 频率(freq)宽度: 高电平的宽度, 占空比(duty) 详细波形如下图。用途控制灯光的亮度(手机/平板/显示器背光灯)电机的转速灯光的控制细节频率要大于 25Hz, 灯光的亮度的变化是跟着占空比而变化, 占空比越大, 灯光越暗;占空比越小, 灯光越亮。STM32工作过程 CCR1:捕获比较(值)寄存器(x=1,2,3,4):设置比较值。
【STM32】定时器 定义 设置等待时间, 到达后则执行指定操作的硬件。STM32F407 的定时器有以下特征 具有基本的定时功能, 也有 PWM 输出(灯光亮度控制、 电机的转速)、 脉冲捕获功能(红外捕捉)。2 个高级控制定时器、 10 个通用定时器和 2 个基本定时器 高级控制定时器(TIM1 和 TIM8) 具有 16 位定时器功能, 也具有 PWM 输出高级控制功能, 一个定时器支持多路的 PWM 输出。 通用定时器(TIM2 到 TIM5)
【STM32】定时器 一、 系统定时器SysTick 叫做系统滴答时钟、 系统定时器, 属于 Cortex-M4 内核中的一个外设(外围设备), 它 24bit 向下递减的计数 器,计到0 时,将从RELOAD 寄存器中自动重装载定时初值。只要不把它在SysTick 控制及状态寄存器中的使能位清除,就永不停息,即使在睡眠模式下也能工作。SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号:15)。Systick中断的优先级也可以设置。二、 系统定时器的中断使用方法1.代码的初始化。
初识RTOS 嵌入式操作系统(Embedded Operating System,简称:EOS)是指用于嵌入式系统的操作系统。嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核设备驱动接口、通信协议图形界面、标准化浏览器等。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。嵌入式实时操作系统µC/OS-II、嵌入式LinuxVxWorks。
【STM32】位带操作 1.意义回想以前写51代码//将P0端口设置为0x10 P1_0=1;//将P1端口0号引脚设置为高电平 a = P2_2;//获取P2端口2号引脚的电平根据上述的方法,我们可以发现快速定位修改某个引脚的电平还有获取引脚的状态2.原因GPIO_SetBits、GPIO_ResetBits、GPIO_WriteBit操作IO口的没有达到极致,因为这些函数都需要进行现场保护和现场恢复的动作,,没有进行一步到位,使用位带操作则没有上述的烦恼,
【STM32】时钟体系 PLL(Phase Locked Loop): 为锁相回路或锁相环,用来统一整合时钟信号,使高频器件正常工作,如内存的存取资料等。PLL基于振荡器中的反馈技术,许多电子设备要正常工作,通常需要外部的输入信号与内部的振荡信号同步。一般的晶振由于工艺与成本原因,做不到很高的频率,而在需要高频应用时,由相应的器件VCO,实现转成高频,但并不稳定,故利用锁相环路就可以实现稳定且高频的时钟信号。
【STM32】GPIO 一、概述GPIO,即通用I/O(输入/输出)端口,是STM32可控制的引脚。STM32芯片的GPIO引脚与外部设备连接起来,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。STM32F407有8组IO。分别为GPIOA~GPIOH,除了GPIOH只有两个IO,其余每组IO有16根引脚。GPIO的复用:STM32F4 有很多的内置外设,这些外设的外部引脚都是与 GPIO 共用的。也就是说,一个引脚可以有很多作用,但是默认为IO口,如果想使用一个 GPIO内置外设的功能引脚,就需要GPIO的复用,那么
【STM32】MDK安装 Keil公司是一家业界领先的微控制器(MCU)软件开发工具的独立供应商。Keil公司由两家私人公司联合运营,分别是德国慕尼黑的Keil Elektronik GmbH和美国德克萨斯的Keil Software Inc。Keil公司制造和销售种类广泛的开发工具,包括ANSI C编译器、宏汇编程序、调试器、连接器、库管理器、固件和实时操作系统核心(real-time kernel)。有超过10万名微控制器开发人员在使用这种得到业界认可的解决方案。
【STM32】STM介绍 1978年,物理学家赫尔曼·豪泽(Hermann Hauser)和工程师Chris Curry,在英国剑桥创办了CPU公司(Cambridge Processing Unit),主要业务是为当地市场供应电子设备。1979年,CPU公司改名为Acorn公司。1985年,Roger Wilson和Steve Furber设计了他们自己的第一代32位、6MHz的处理器,用它做出了一台RISC指令集的计算机,简称ARM(Acorn RISC Machine)。这就是ARM这个名字的由来。经典指令集CISC。
最全个人笔记【Makefile】 当一个项目中要编译的文件很多时,手工使用编译器一个个进行编译,很明显不具有可操作性,此时必须借助某些软件,协助我们有序地、正确地自动编译整个工程的所有该编译的文件。这样的软件被称为 **工程管理器**,`make` 就是一款工程管理器软件。### **1.2 Makefile是什么**`make` 正常工作时,会读取一个称为 `Makefile` 的配置文件,该配置文件可以为 `make` 指明细致的工作规则,比如所使用的工具链、要编译的目标文件名称、要递归编译的子文件夹路径等等。对工程管理器软
最全数据结构个人笔记【平衡二叉树】 平衡二叉树又称AVL树,它或者是一棵空树,或者是具有以下特性的二叉排序树(BST)(1) 它的排布方式遵循小-中-大规律(2) 左子树和右子树的深度之差的绝对值不超过1(1,-0,-1)若将二叉树上的节点的平衡因子定义为该节点的左子树的深度减去它右子树的深度,所以平衡二叉树所有节点的平衡因子只可能是-1,0,1只有二叉树上有一个节点的平衡因子的绝对值大于1,则该二叉树不平衡。
最全数据结构个人笔记【树-BST】 对于BST而言,插入一个节点主要是要保持其"小-中-大"的逻辑不变,因此插入的的逻辑可以从根节点开始,一步一步寻找新节点的"最终归宿",比如在如下BST中,要插入新节点16,最终应该插入到节点17的左孩子处。由于树中所有的节点均满足,“小-中-大”的规律因此当从根开始查找某个节点时速度比顺序查找要快的多,比如要找节点38,当发现38大于根节点13后,就可以确定13的左子树一定没有38,这就去掉了半边子树的节点。b. 否则,若有右子树,则用右子树中最小的节点min替换根节点,并在右子树中递归删除min。