刷新
寄存器,触发器,三极管小结

博主头像 寄存器,本质上就是单片机内部的RAM存储器,用来暂时存放参与运算的数据和运算结果。一个寄存器由若干个锁存器或者触发器组成。比如STM32的一个寄存器有32位,则由32个触发器组成。 STM32的寄存器包括通用寄存器、控制寄存器以及外设寄存器,每种寄存器都有其特定的功能和用途。而且在技术手册占了非常多 ...

MCU点灯实验小结

博主头像 设备采用芯片:STM32F407ZET6 4个LED灯,网络标号分别为LED0 ,LED1,FSMC D10,FSMC D11。对应的引脚号分别为PF9,PF10,PE12,PE13。 GPIO外设基本概念 General-Purpose Input Output,通用型输入输出的,也简称I/O口, ...

TTL、RS-232、RS-485区别

博主头像 表格示意: 标准 逻辑电平0 逻辑电平1 是否全双工 抗干扰能力 TTL 输出低电平<0.4V, 输入低电平<=0.8V 输出高电平>2.4V,输入高电平>=2.0V 全双工 差 RS232 +3~+15V -3~-15V 全双工 强 RS485 +2V~+6V - 6V~- 2V 半双工 很强 电 ...

《痞子衡嵌入式半月刊》 第 102 期

博主头像 痞子衡嵌入式半月刊: 第 102 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回 ...

IMX6ULL开发板spi OLED驱动

博主头像 本文是IMX6ULL开发板spi OLED驱动学习笔记,方便后面查看时快速的回顾,而不需要一点点的看视频 视频地址: https://www.bilibili.com/video/BV1Yb4y1t7Uj?p=144&spm_id_from=pageDriver&vd_source=1d93d6a5 ...

文件系统(八):Linux JFFS2文件系统工作原理、优势与局限

博主头像 在嵌入式Linux设备中,经常使用jffs2文件系统来作为参数区的文件系统格式。至于为什么要使用jffs2来作为参数区的文件系统,我猜大部分人都没有做过多的思考。你的jffs2文件系统使用是否正确、合理?如果你存储文件某天突然不见了,你要怎么分析?是flash有坏块,还是被jffs2垃圾回收处理掉了... ...

CM3调试系统简析

博主头像 包括对两大调试接口:JTAG接口和SWD串行线调试接口、CoreSight调试接口:基于CoreSight架构的CM3调试系统和标准CoreSight架构和CM3中调试系统异同点、CoreSight跟踪接口、 调试功能的总结、调试模式、调试事件、STM32调试单元、SWV调试、JTAG边界扫描 、代... ...

FreeRTOS 简单内核实现8 时间片轮询

博主头像 0、思考与回答 0.1、思考一 为什么要增加时间片轮询? 目前的 RTOS 内核已经支持抢占优先级,即高优先级的任务会抢占低优先级的任务得到执行,但是对于同等优先级的任务,如果不支持时间片轮询,则只能有一个任务运行,并且由于优先级相同所以除延时阻塞到期外也不会发生任务调度,因此需要增加时间片轮询保证 ...

FreeRTOS简单内核实现7 阻塞链表

博主头像 0、思考与回答 0.1、思考一 如何处理进入阻塞状态的任务? 为了让 RTOS 支持多优先级,我们创建了多个就绪链表(数组形式),用每一个就绪链表表示一个优先级,对于阻塞状态的任务显然要从就绪链表中移除,但是阻塞状态的任务并不是永久阻塞了,等待一段时间后应该从阻塞状态恢复,所以我们需要创建一个阻塞链 ...

文件系统(七):文件系统崩溃一致性、方法、原理与局限

博主头像 liwen01 2024.06.16 前言 先提几个问题:什么是文件系统崩溃一致性?为什么会出现文件系统崩溃一致性问题?有哪些方法可以解这个问题?它们各自又有哪些局限性? window系统电脑异常后会蓝屏、手机死机卡顿后我们会手动给它重启,大部分设备的系统在遇到不可修复的严重异常后都会尝试通过重启来 ...

FreeRTOS简单内核实现6 优先级

博主头像 0、思考与回答 0.1、思考一 如何实现 RTOS 内核支持多优先级? 因为不支持优先级,所以所有的任务都插入了一个名为 pxReadyTasksLists 的就绪链表中,相当于所有任务的优先级都是一致的,那如果我们创建一个就绪链表数组,数组下标代表优先级,优先级为 x 的任务就插入到 pxRead ...

FreeRTOS简单内核实现4 临界段

博主头像 @目录0、思考与回答0.1、思考一0.2、思考二0.3、思考三1、关中断1.1、带返回值1.2、不带返回值2、开中断3、临界段4、应用 0、思考与回答 0.1、思考一 为什么需要临界段? 有时候我们需要部分代码一旦这开始执行,则不允许任何中断打断,这段代码称为临界段 0.2、思考二 如何实现临界段? ...

针对make工具和Makefile文件的学习心得

博主头像 目录为什么要学习使用make工具?什么是make工具?make工具的学习过程1. 安装make:sudo apt install make;并学习使用make安装make流程学习使用make指令make指令的相关特点make只会对修改过的或者可执行目标文件不存在的.c文件进行编译使用make时,若不 ...

FreeRTOS简单内核实现3 任务管理

博主头像 0、思考与回答 0.1、思考一 对于 Cortex-M4 内核的 MCU 在发生异常/中断时,哪些寄存器会自动入栈,哪些需要手动入栈? 会自动入栈的寄存器如下 R0 - R3:通用寄存器 R12:通用寄存器 LR (Link Register):链接寄存器,保存返回地址 PC (Program Co ...

Makefile手册中"+=",":=","?="操作符的区别

博主头像 目录Makefile手册中"+=",":=","?="操作符的区别1."?="操作符2."+="操作符3.":="操作符 Makefile手册中"+=",":=","?="操作符的区别 1."?="操作符 在GNUmake中,有一个变量在之前没有被赋值的情况下才会对这个变量进行赋值的操作,被称为条件 ...

<1234···17>