
嵌入式学习笔记
文章平均质量分 59
嵌入式学习笔记
时空旅客er
这个作者很懒,什么都没留下…
展开
-
串行通信原理
参与通信的双方需事先约定波特率(传输速度),发送方和接收方按照事先约定好的波特率发送和接收数据。允许数据同时进行双向传输,发送和接收的双方都具有独立的发送和接收能力。允许数据双向传输,单同一时刻只允许数据在一个方向传输。只支持从发送方到接收方的单行传输,不支持反向传输.具有时钟同步信号的传输,具有两条线:数据线和时钟线。相当于即可用于接收也可用于发送的单工传输。如:UART通信,单总线(18B20)数据的每一位是按照时钟信号进行传输的。如 : IIC通信, SPI通信。不具有时钟同步信号的传输。原创 2022-09-27 15:24:08 · 398 阅读 · 0 评论 -
Cortex-M3 NVIC与中断控制
NVIC,可嵌套的向量中断控制器。是Cortex-M3不可分割的一部分,它与CM3内核的逻辑紧密耦合。NVIC与CM3内核同声相应,同气相求,相辅相成,里应外合,共同完成对中断的响应。NVIC的寄存器以存储器映射的方式来访问,除了包含控制寄存器和中断处理的控制逻辑之外,NVIC还包含了MPU的控制寄存器、SysTick定时器以及调式控制。NVIC共支持1至240个外部中断输入(通常外部中断写作IRQs,这里的“外部”是指CM3内核外部)。此外NVIC还支持一个永垂不朽的不可屏蔽中断(NMI)输入。原创 2022-09-27 14:17:02 · 1245 阅读 · 0 评论 -
Cortex-M3异常
优先级的数值越小,则优先级越高。CM3支持中断嵌套,使得高优先级异常会抢占低优先级异常。有3个系统异常:复位、NMI、硬fault,他们有固定的优先级,并且他们的优先级是负数,从而高于所有其他异常。所有其他异常的优先级都是可编程的(但不能编程为负数)。CM3支持多达256级的可编程优先级,并且支持128级抢占。但是绝大多数CM3芯片都会精简涉及,以致实际上支持的优先级会更少,如8级、16级、32级。它们在设计时会裁掉表达优先级的几个低端有效位。(优先级号是以MSB对齐的)。原创 2022-09-27 13:29:00 · 964 阅读 · 0 评论 -
Cortex-M3存储器映射
里面包括了系统级组件,内部私有外设总线,外部私有外设总线,以及由芯片制造商定义的系统外设。原创 2022-09-26 15:26:15 · 997 阅读 · 0 评论 -
Cortex-M3的时钟
⑤、送给APB2分频器。APB2分频器可选择1、2、4、8、16分频, 其输出一路供APB2外设使用(PCLK2,最大频率72MHz),另一路送给定时器(Timer)1倍频器使用。系统时钟可由PLL、HSI或者HSE提供输出,并且它通过AHB分频器分频后送给各模块使用,AHB分频器可选择1、2、4、8、16、64、128、256、512分频。APB1分频器可选择1、2、4、8、16分频,其输出一路供APB1外设使用(PCLK1,最大频率36MHz),另一路送给定时器(Timer)2、3、4倍频器使用。原创 2022-09-25 20:57:57 · 1015 阅读 · 0 评论 -
STM32:HEX文件格式
hex文件格式是可以烧写到单片机中,被单片机执行的一种文件格式。生成Hex文件的方式有很多种,可以通过不同的编译器将C程序或者汇编程序编译生成hex,如IAR,KEIL等。转载 2022-09-25 11:29:27 · 736 阅读 · 0 评论 -
stm32按键扫描代码
【代码】stm32按键扫描代码。原创 2022-09-24 12:15:59 · 548 阅读 · 0 评论 -
【单片机】按键消抖及原理(硬件和软件方法详解)
此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),只要按键不返回原始状态A,双稳态电路的状态不改变,输出保持为0,不会产生抖动的波形。原理:按键采用中断驱动方式,当按键按下以后触发按键中断,在按键中断中开启一个定时器,定时周期为 10ms,当定时时间到了以后就会触发定时器中断,最后在定时器中断处理函数中读取按键的值,如果按键值还是按下状态那就表示这是一次有效的按键。注:如果按键是用中断方式实现的,那就更不能在中断服务函数里面使用延时函数,因为中断服务函数最基本的要求就是快进快出!转载 2022-09-23 21:06:15 · 11591 阅读 · 0 评论 -
Cortex-M3概览
Cortex‐M3 是一个 32 位处理器内核。内部的数据路径是 32 位的,寄存器是 32 位的,存储器接口也是 32 位的。CM3 采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖。但是另一方面,指令总线和数据总线共享同一个存储器空间(一个统一的存储器系统)原创 2022-09-16 15:29:44 · 917 阅读 · 0 评论 -
了解ARM架构
然而对于安全关键(safety‐critical)的嵌入式系统,还是不能没有内存的分区保护的。为解决矛盾,于是就有了MPU。可以把MPU认为是MMU的功能子集,它只支持分区保护,不支持具有“定位决定性”的虚拟内存机制。实际上,Thumb指令集在功能上是ARM指令集的一个子集,但它能带来更高的代码密度,给目标代码减肥。Thumb‐2 是16位Thumb指令集的一个超集,在Thumb‐2中,16位指令首次与32位指令并存,结果在Thumb状态下可以做的事情一下子丰富了许多,同样工作需要的指令周期数也明显下降。原创 2022-09-16 14:50:51 · 218 阅读 · 0 评论 -
嵌入式学习笔记总纲
嵌入式学习笔记总纲原创 2022-09-16 14:31:07 · 134 阅读 · 0 评论