MCU学习笔记
文章平均质量分 66
MCU学习记录
GloriaHuo
合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。——老子·《道德经》
展开
-
ARM CORETEX M0简介
R13:堆栈指针SP,M0不同的物理位置上存在两个栈指针,主栈指针MSP,进程栈指针PSP。在处理模式上,只能使用MSP,在线程模式下,通过CONTROL寄存器控制使用哪种指针,系统上电默认MSP;处理模式(handler mode):当处理器发生了异常或者中断,则进入处理模式进行处理,处理完成后返回线程模式。异常:由cpu自己产生,reset,hardfault,SVcall,pendsv,systick。NVIC:嵌套向量中断控制器,帮助cpu处理外部的中断请求,max32个中断,4级中断优先级。原创 2023-07-09 14:03:30 · 1138 阅读 · 0 评论 -
数字IC验证学习笔记_APB
数字IC验证学习笔记APB总线1. AHB总线测试激励1. APB总线测试激励1.1 写操作Verilog代码task write_oper(addr_t address,data_t data_w); @(posedge apb_bus.clk); apb_bus.sel = 1; apb_bus.write = 1; apb_bus.wdata = data_w;原创 2022-03-19 12:38:05 · 728 阅读 · 0 评论 -
数字IC验证学习笔记_AHB总线
数字IC验证学习笔记AHB总线1. AHB总线测试用例(TestCase)2. AHB总线测试平台(TestBench)1. AHB总线测试用例(TestCase)1.1 写操作Verilog代码task ahb_write(input [31:0] addr, input [31:0] wdata);begins @(posedge hclk); #1; hsize = 2'b10; htrans = NONSEQ; hwrite = 1; hsel = 1; h原创 2022-03-19 12:28:21 · 1968 阅读 · 0 评论 -
MCU学习笔记_通信接口简介
MCU学习笔记通信接口简介1. 通信接口2. 串行通信1. 通信接口处理器与外部设备通信的方式并行通信传输原理:数据各个位同时传输优点:速度快缺点:占用引脚资源多串行通信传输原理:数据按位顺序传输优点:占用引脚资源少缺点:速度相对较慢2. 串行通信分类单工:只支持数据在一个方向上传输半双工:允许两个方向传输,但同一时刻,只允许数据在一个方向上传输全双工:同一时刻允许数据在两个方向上传输,要求发送端与接收端都有独立的接收和发送能力通信方式同步通信:带原创 2021-05-13 17:33:40 · 2036 阅读 · 0 评论 -
MCU学习笔记_哈佛结构和冯. 诺伊曼结构
MCU学习笔记哈佛结构和冯. 诺伊曼结构1. 哈佛结构2. 冯. 诺伊曼结构微控制器(Microcontroller)根据存储器结构可分为哈佛结构(Harvard) 和冯. 诺伊曼(Von Neumann) 结构;1. 哈佛结构将程序指令存储和数据存储分开的存储器结构中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一 步的操作( 通常是执行)。可以使指令和数据有不同的数据宽度2. 冯. 诺伊曼结构也称普林斯顿结构,是一原创 2021-05-08 14:06:40 · 870 阅读 · 0 评论 -
MCU学习笔记_WWDG窗口看门狗
MCU学习笔记WWDG窗口看门狗1. WWDG窗口看门狗概述2. 寄存器和HAL库函数配置3. 实例1. IWDG独立看门狗概述用于检测由外部干扰或不可预见的逻辑条件件造成的应用程序背离正常的运行序列而产生的软件故障。喂狗时间有上下限的范围。下限固定,通过设定相关的寄存器,设定上限时间。喂狗的时间不能过早也不能过晚。时钟来源于APB1总线时钟,经过预分频器产生时钟给递减计数器。看门狗复位:喂狗的时候,计数器的值 > 设定值W[6:0]计数器的数值从0x40减原创 2021-04-28 16:53:10 · 352 阅读 · 0 评论 -
MCU学习笔记_IWDG独立看门狗
MCU学习笔记IWDG独立看门狗1. IWDG独立看门狗概述2. 寄存器和HAL库函数配置3. 实例1. IWDG独立看门狗概述看门狗,watchdog,用于检测单片机程序运行状态的模块或者芯片。行为:在启动正常运行时,系统不能复位;在程序异常执行时,系统复位,程序重新执行。STM32内置两个看门狗:独立看门狗IWDG,窗口看门狗独立看门狗IWDG:由专用的低速时钟(LSI)驱动,即使主时钟发生故障,它仍然有效。适合应用于需要看门狗作为一个主程序之外能够完全独立工作,并且对时原创 2021-04-27 16:18:10 · 1287 阅读 · 0 评论 -
MCU学习笔记_STM32低功耗模式概述
MCU学习笔记电源管理系统1. STM32低功耗模式概述2. 寄存器和库函数配置3. HAL库配置PVD实例1. STM32低功耗模式概述系统或电源复位后,微控制器处于运行状态,HCLK位CPU提供时钟,内核执行代码。当CPU不需要继续运行时,乐意利用多种低功耗模式来节省功耗。3种低功耗模式:睡眠模式:内核停止 ,外设如NVIC,系统时钟Systick仍然运行停止模式:所有时钟都停止。1.2/1.8V内核电源工作。PLL, HIS 和HSE RC振荡器功能禁止。寄存器和SRAM内原创 2021-04-26 17:27:49 · 1363 阅读 · 4 评论 -
MCU学习笔记_PWR电源管理系统
MCU学习笔记电源管理系统1. STM32电源监控器概述2. STM32电源3. HAL库配置PVD实例1. STM32电源监控器概述原因保持系统正常运行实现特定条件下的低功耗模式上电复位(POR)/掉电复位(PDR)当VDD/VDDA低于指定阈值VPDR/VPOR时,器件无需外部复位,便会保持复位状态。VPDR/VPOR针对于芯片基本上是固定的。VDD: 0~VPOR(典型值1.72V):上电复位VDD持续上升时间:正常运行状态:下降至VPDR:掉电复位欠压原创 2021-04-26 15:37:00 · 4663 阅读 · 2 评论 -
FPGA学习笔记_AMBA总线2
FPGA学习笔记AMBA总线21. APB简介2. ASB简介AMBA总线21. APB简介APB(AMBA外设总线,the Advanced Peripheral Bus) 是本地二级总线(local secondary bus),主要用于低带宽的,低功耗的周边外设之间的连接,例如UART、1284等,它的总线架构不像AHB支持多个主模块,在APB里面唯一的主模块就是APB桥。其特性包括:2个clockcycle传输;无需等待周期和回应信号;控制逻辑简单,只有四个控制信号,不需要原创 2021-03-09 16:43:55 · 606 阅读 · 0 评论 -
FPGA学习笔记_AMBA总线1
FPGA学习笔记AMBA总线1. AMBA简介2. AHB简介AMBA总线1. AMBA简介AMBA总线是ARM研发的(Advanced Microcontroller Bus Architecture),高级微控制器总线体系;是一种开放的协议,主要用于SoC内部和ASIC,用于连接各种功能模块;2.0版AMBA标准定义了三组总线:AHB(AMBA高性能总线)、ASB(AMBA系统总线)、和APB(AMBA外设总线)。2. AHB简介AHB(AMBA高性能总线the Advanc原创 2021-03-08 23:23:39 · 1190 阅读 · 0 评论 -
MCU学习笔记_外部中断/事件控制器
MCU学习笔记外部中断/事件控制器1. IO口外部中断原理概述2. IO口外部中断HAL库配置方法3. IO口外部中断HAL库配置例子1. IO口外部中断原理概述STM32控制器支持的外部中断/事件请求IO口外部中断STM32每个IO口都可以作为外部中断输入每个外部中断线可以独立的配置触发方式(上升沿,下降沿,双边沿触发),触发/屏蔽,专用的状态位。STM32供IO使用的中断线只有16个,但STM32F系列的IO口多达上百个GPIO和中断线映射的关系M3/M7:配置寄存器SYS原创 2021-04-25 16:39:53 · 1459 阅读 · 1 评论 -
MCU学习笔记_DMA原理
MCU学习笔记DMA原理1. DMA原理2. DMA相关概念3. DMA数据流配置过程4. HAL库配置DMA1. DMA原理DMA, Direct Memory Access, 即直接存储器访问。无需CPU直接控制,通过硬件为RAM和IO设备开辟一条直接数据传输通道,将数据直接从一个地址空间复制到另一个地址空间,传输动作本身由DMA控制器实现。作用:为CPU减负,提升CPU效率STM32F4/F7: 2个DMA控制器,16个数据流。每个DMA控制器都用于管理一个或者多个外设原创 2021-04-23 16:13:28 · 2812 阅读 · 1 评论 -
MCU学习笔记_IO引脚复用和映射
MCU学习笔记IO引脚复用和映射1. 端口复用2. 端口复用配置过程1. 端口复用STM32有很多内置外设,外设的外部引脚都是与GPIO复用的。即,一个GPIO,如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用时,就叫做复用。STM32的端口复用映射原理STM32系列MCU的IO引脚通过一个复用器连接到内置外设或模块。复用器一次只允许一个外设的复用功能(AF)连接到对应的IO口。这样确保同一个IO引脚的外设之间不会发生冲突。端口复用映射示意图由AFRL[3原创 2021-04-22 19:17:20 · 3682 阅读 · 3 评论 -
MCU学习笔记_STM32 中断优先级管理NVIC
MCU学习笔记STM32 中断优先级管理NVIC1. NVIC 中断优先级分组2. NVIC 中断优先级设置3. NVIC 总结1. NVIC 中断优先级分组ARM CM4/CM7内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置;STM32并没有使用内核中全部内容,只使用了一部分。STM32F40xx/STM32F41xx总共有92个中断。10个内核中断,82个可屏蔽中断。STM32F42xx/STM32F43xx总共有97个中断。1原创 2021-04-22 18:03:34 · 524 阅读 · 0 评论 -
MCU学习笔记_STM32 Systick定时器工作原理
MCU学习笔记Systick定时器工作原理1. STM32 Systick定时器基础2. STM32 Systick定时器相关寄存器库函数1. STM32 Systick定时器基础Systick定时器, 系统滴答定时器,24位的倒计数定时器,计数到0时,将从RELOAD寄存器中自动重装载定时初值。只要不在SysTick控制及状态寄存器中的使能位清零,就永不停息,及时在睡眠模式也能工作。Systick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号:15)。其中断优先级也可以设置。原创 2021-04-22 17:08:05 · 993 阅读 · 0 评论 -
MCU学习笔记_GPIO工作原理
MCU学习笔记STM32时钟1. STM32 GPIO基础知识2. STM32 GPIO工作模式3. STM32 GPIO寄存器1. STM32 GPIO基础知识GPIO, General purpose input output, 通用输入输出端,可通过程序软件配置成输入或者输出端。引脚与GPIO的区别和联系STM32的引脚中,有部分是做GPIO使用,其他部分是电源引脚/复位引脚/启动模式引脚/晶振引脚/调试下载等功能的引脚。例如:STM32FXXXIGT6:140个IO口 =原创 2021-04-20 17:41:12 · 2596 阅读 · 2 评论 -
MCU学习笔记_STM32时钟
MCU学习笔记STM32时钟1. STM32时钟类型2. 从程序的角度配置时钟1. STM32时钟类型5个时钟源:HSI, HSE, LSI, LSE, PLLHSI,高速内部时钟,RC振荡器,频率为16MHz,精度不高。可以直接作为系统时钟或者作PLL时钟输入。HSE,高速外部时钟,可接石英/陶瓷晶振(OSC),或者接外部时钟源,频率范围4MHz~26MHz。可以分频后作为RTC的一个时钟源;也可作为系统时钟源。LSI,低速内部时钟,RC振荡器,频率为32KHz,提供低功耗时钟。主要提原创 2021-04-19 19:00:06 · 745 阅读 · 0 评论 -
MCU学习笔记_C语言基础
MCU学习笔记C语言基础1. 位操作2. define宏定义关键词3. ifdef /ifndef 条件编译4. extern变量声明5. typedef 类型别名6. 结构体7. static关键词8. __weak弱函数1. 位操作6种位操作运算符“&”:按位与;“|”:按位或;两个操作位,只要有一个为1,结果就为1;“^”:按位异或;两个操作位不同时,结果为1;“~”:取反;“<<”:左移;“>>”:右移;2. defin原创 2021-04-18 16:50:33 · 1558 阅读 · 6 评论 -
MCU学习笔记_ARM Cortex M0_简介
MCU学习笔记ARM Cortex M01. RM的CPU core 的基本概念2. ARM Cortex M0组成架构3. Cortex-M0 Processo1. ARM的CPU core 的基本概念A系列:手机上应用;应用于high end application processor; cortex_A5, cortex_A8,cortex_A9, cortex_A19等R系列:路由器,汽车等; 应用于高性能的实时系统(high performance real-time syst原创 2021-03-31 16:25:56 · 2717 阅读 · 1 评论