![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
嵌入式
学习资料整理
AdaLovelace333
记录学习的日常
展开
-
STM32学习笔记——I2C介绍及配置
IIC(Inter-Integrated Circuit)总线是一种由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。它是由数据线 SDA 和时钟 SCL 构成的串行总线,可发送和接收数据。在 CPU 与被控 IC 之间、IC 与 IC 之间进行双向传送,高速 IIC 总线一般可达 400kbps 以上。I2C 总线在传送数据过程中共有三种类型信号, 它们分别是:开始信...原创 2020-04-09 19:25:58 · 1345 阅读 · 0 评论 -
STM32学习笔记——SPI介绍及配置
SPI 是英语 Serial Peripheral interface 的缩写,顾名思义就是串行外围设备接口。是 Motorola首先在其 MC68HCXX 系列处理器上定义的。SPI 接口主要应用在 EEPROM,FLASH,实时时钟,AD 转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为 PC...原创 2020-04-09 19:11:07 · 1149 阅读 · 1 评论 -
STM32学习笔记——输入捕获介绍及配置
输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32 的定时器,除了 TIM6 和TIM7,其他定时器都有输入捕获功能。STM32 的输入捕获,简单的说就是通过检测TIMx_CHx 上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的通道的捕获/比较寄存器(TIMx_CCRx)里面,完成一次捕获。同时还可以配置捕获时是否触发中断/DMA...原创 2020-04-04 22:15:10 · 915 阅读 · 0 评论 -
STM32学习笔记——通用定时器的PWM介绍及配置
脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制。STM32 的定时器除了 TIM6 和 7。其他的定时器都可以用来产生 PWM 输出。其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出。而通用定时器也能同时产生多达 4...原创 2020-04-04 21:47:48 · 3123 阅读 · 2 评论 -
STM32学习笔记——通用定时器TIMx介绍及配置
STM32F1 的定时器功能十分强大,有 TIME1 和 TIME8 等高级定时器,也有 TIME2~TIME5 等通用定时器,还有 TIME6和 TIME7 等基本定时器通用定时器是一个通过可编程预分频器驱动的16位自动装载计数器构成。它适用于多种场合,包括测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和PWM)。使用定时器预分频器和RCC时钟控制器预分频器,脉冲长度和波形周...原创 2020-04-04 21:07:50 · 22655 阅读 · 2 评论 -
STM32学习笔记——窗口看门狗WWDG介绍及配置
WWDG简介窗口看门狗通常被用来监测,由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数器的值在T6位(WWDG->CR 的第六位)变成0前被刷新,看门狗电路在达到预置的时间周期时,会产生一个MCU复位。在递减计数器达到窗口寄存器(WWDG->CFR)数值之前,如果7位的递减计数器数值(在控制寄存器中)被刷新, 那么也将产生一个MCU复位。这...原创 2020-04-03 21:33:45 · 2841 阅读 · 2 评论 -
STM32学习笔记——独立看门狗IWDG介绍及配置
STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效。这里需要注意独立看门狗的时钟是一个内部 RC 时钟,所以并不是准确的 40Khz,而是在 30~60Khz 之间的一个可变化的时钟,只是我们在估算的时候,以 40Khz 的频率来计算,看门狗对时间的要求不是很精确,所以,时钟有些偏差,都是可以接受的。看门狗的原理单片机系统在外界的干扰下会出现程序...原创 2020-04-03 21:05:32 · 3056 阅读 · 0 评论 -
STM32学习笔记——外部中断EXIT介绍及配置
STM32 的每个 IO 都可以作为外部中断的中断输入口,STM32F103 的中断控制器支持 19 个外部中断/事件请求。每个中断设有状态位,每个中断/事件都有独立的触发和屏蔽设置。STM32F103 的19 个外部中断为:线 0~15:对应外部 IO 口的输入中断。线 16:连接到 PVD 输出。线 17:连接到 RTC 闹钟事件。线 18:连接到 USB 唤醒事件。线19:连接到...原创 2020-04-03 20:19:53 · 5707 阅读 · 1 评论 -
STM32学习笔记——串口相关知识UART介绍及配置
一、同步和异步:because:同步:提交请求->等待服务器处理->处理完毕返回 异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕 also:同步是指:发送方发出数据后,等接收方发回响应以后,才发下一个数据包的通讯方式。 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。so:同步是...原创 2020-04-02 23:35:08 · 1262 阅读 · 0 评论 -
STM32学习笔记——GPIO输入配置的一般步骤(按键KEY)
读取输入数据GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4)//读取按键0key.h#ifndef __KEY_H#define __KEY_H #include "sys.h"#define KEY0 GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4)//读取按键0#define KEY1 GPIO_ReadInp...原创 2020-04-01 22:39:44 · 2632 阅读 · 0 评论 -
STM32学习笔记——GPIO八种工作模式
GPIO端口的每个位可以由软件分别配置成多种模式。─ 输入浮空─ 输入上拉─ 输入下拉─ 模拟输入─ 开漏输出─ 推挽式输出─ 推挽式复用功能─ 开漏复用功能每个I/O端口位可以自由编程,然而I/0端口寄存器必须按32位字被访问(不允许半字或字节访问)。GPIOx_BSRR和GPIOx_BRR寄存器允许对任何GPIO寄存器的读/更改的独立访问;总结在STM32中选用IO模式...原创 2020-04-01 22:13:20 · 2504 阅读 · 0 评论 -
STM32学习笔记——GPIO介绍及配置
仅供个人学习使用STM32 的每个 IO 端口都有 7 个寄存器来控制。他们分别是:配置模式的 2 个 32 位的端口配置寄存器 CRL 和 CRH;2 个 32 位的数据寄存器 IDR 和 ODR;1 个 32 位的置位/复位寄存器BSRR;一个 16 位的复位寄存器 BRR;1 个 32 位的锁存寄存器 LCKR。CRH 和 CRL在固件库开发中,操作寄存器 CRH 和 CRL 来配...原创 2020-04-01 21:21:32 · 2688 阅读 · 0 评论 -
锁相环PLL原理简单介绍
锁相环路是一种反馈控制电路,简称锁相环(PLL,Phase-Locked Loop)。锁相环的特点是:利用外部输入的参考信号控制环路内部振荡信号的频率和相位。因锁相环可以实现输出信号频率对输入信号频率的自动跟踪,所以锁相环通常用于闭环跟踪电路。锁相环在工作的过程中,当输出信号的频率与输入信号的频率相等时,输出电压与输入电压保持固定的相位差值,即输出电压与输入电压的相位被锁住,这就是锁相环名称的由来...原创 2020-03-31 12:41:21 · 1947 阅读 · 0 评论 -
stm32f103rbt6基本介绍
stm32f103rbt6主频最高可以达到72MHZ。R = 64脚B = 128K字节的闪存存储器 中容量产品问题6:代码里面GPIOC->ODR ^= (1<<8);是什么?回答6:这个操作实际上就是把GPIOC里的ODR寄存器的第八位取反,其他位不变。^是异或符号,如果大家不懂什么是异或的话应该好好学学C语言的逻辑运算符了,因为stm32里面不能直接使用取反...原创 2020-03-17 23:36:39 · 18059 阅读 · 0 评论 -
STM32学习笔记——STM32系统架构
这里所讲的 STM32 系统架构主要针对的 STM32F103 这些非互联型芯片。首先我们看看 STM32 的系统架构图:STM32 主系统主要由四个驱动单元和四个被动单元构成。四个驱动单元是:内核 DCode 总线;系统总线;通用 DMA1;通用 DMA2;四被动单元是:AHB 到 APB 的桥:连接所有的 APB 设备;内部 FlASH 闪存;内部 SRAM;FSMC;...原创 2020-03-17 23:30:13 · 3071 阅读 · 0 评论 -
STM32学习笔记——STM32 时钟系统
众所周知,时钟系统是 CPU 的脉搏,就像人的心跳一样。所以时钟系统的重要性就不言而喻了。首先让我们来看看 STM32 的时钟系统图吧:在 STM32 中有五个时钟源,为 HSI、HSE、LSI、LSE、PLL。从时钟频率来分可以分为高速时钟源和低速时钟源,在这 5 个中 HIS,HSE 以及 PLL 是高速时钟,LSI 和 LSE 是低速时钟。从来源可分为外部时钟源和内部时钟源,外部时钟源...原创 2020-03-17 23:25:26 · 543 阅读 · 0 评论 -
STM32学习笔记——端口复用和重映射
端口复用功能一个 GPIO如果可以复用为内置外设的功能引脚,那么当这个 GPIO 作为内置外设使用的时候,就叫做复用。比如说 STM32F103rbt6 的串口 1 的引脚对应的 IO 为 PA9,PA10.PA9,PA10 默认功能是 GPIO,所以当PA9,PA10 引脚作为串口 1 的 TX,RX 引脚使用的时候,那就是端口复用。复用端口初始化有几个步骤:1) GPIO 端口时钟使...原创 2020-03-17 22:52:36 · 790 阅读 · 0 评论 -
存储器(ROM、SDRAM、RAM、DRAM、SRAM、FLASH)的区别
嵌入式学习笔记(二)——存储器(ROM、SDRAM、RAM、DRAM、SRAM、FLASH)的区别个人学习,侵删ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。RAM有两大类,一种称为静...原创 2020-03-17 12:34:00 · 2574 阅读 · 0 评论 -
大小端格式简单介绍
嵌入式系统学习笔(一)大小端格式仅供自己学习使用,侵删!大端格式:在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中小端格式:与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节举例ALU:算术逻辑单元(Arithmetic&logical Unit)是中央处理器(CPU)的执行单元,是所有中央...原创 2020-03-17 10:48:35 · 656 阅读 · 0 评论 -
汇编语言练习(二)
汇编语言练习(一)编程从键盘输入大写字符串(例如‘PLEASE’),并转换成相应的小写字符串输出(例如‘please’)。基本要求:默认键盘输入为大写字符串。提高:字符串中的非大写字符不变DATAS SEGMENT ;此处输入数据段代码 STRING1 DB 'Please input some large letters: $' STRING DB 'the co...原创 2019-11-25 23:04:51 · 898 阅读 · 0 评论 -
汇编语言练习(一)
汇编语言练习(一)编写程序段从键盘接收一个字符,如输入为Y或y,在屏幕上输出‘yes’;如输入为N或n,在屏幕上输出‘NO’; 然后退出。如输入其它字符,屏幕上输出‘please input again’,然后等待重新输入。汇编代码DATAS SEGMENT ;此处输入数据段代码 STRING DB 'INPUT A LETTER: $' STRING1 DB 'YES...原创 2019-11-25 23:02:40 · 3395 阅读 · 1 评论